/* Options: Date: 2024-12-22 21:32:26 Version: 8.51 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://blazor-gallery.servicestack.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: QueryBookings.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; enum RoomType { Single, Double, Queen, Twin, Suite, } /** * Discount Coupons */ class Coupon implements IConvertible { String? id; String? description; int? discount; DateTime? expiryDate; Coupon({this.id,this.description,this.discount,this.expiryDate}); Coupon.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; description = json['description']; discount = json['discount']; expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!); return this; } Map toJson() => { 'id': id, 'description': description, 'discount': discount, 'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!) }; getTypeName() => "Coupon"; TypeContext? context = _ctx; } /** * Booking Details */ class Booking extends AuditBase implements IConvertible { int? id; String? name; RoomType? roomType; int? roomNumber; DateTime? bookingStartDate; DateTime? bookingEndDate; double? cost; // @References(typeof(Coupon)) String? couponId; Coupon? discount; String? notes; bool? cancelled; Booking({this.id,this.name,this.roomType,this.roomNumber,this.bookingStartDate,this.bookingEndDate,this.cost,this.couponId,this.discount,this.notes,this.cancelled}); Booking.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); id = json['id']; name = json['name']; roomType = JsonConverters.fromJson(json['roomType'],'RoomType',context!); roomNumber = json['roomNumber']; bookingStartDate = JsonConverters.fromJson(json['bookingStartDate'],'DateTime',context!); bookingEndDate = JsonConverters.fromJson(json['bookingEndDate'],'DateTime',context!); cost = JsonConverters.toDouble(json['cost']); couponId = json['couponId']; discount = JsonConverters.fromJson(json['discount'],'Coupon',context!); notes = json['notes']; cancelled = json['cancelled']; return this; } Map toJson() => super.toJson()..addAll({ 'id': id, 'name': name, 'roomType': JsonConverters.toJson(roomType,'RoomType',context!), 'roomNumber': roomNumber, 'bookingStartDate': JsonConverters.toJson(bookingStartDate,'DateTime',context!), 'bookingEndDate': JsonConverters.toJson(bookingEndDate,'DateTime',context!), 'cost': cost, 'couponId': couponId, 'discount': JsonConverters.toJson(discount,'Coupon',context!), 'notes': notes, 'cancelled': cancelled }); getTypeName() => "Booking"; TypeContext? context = _ctx; } /** * Find Bookings */ // @Route("/bookings", "GET") // @Route("/bookings/{Id}", "GET") class QueryBookings extends QueryDb implements IReturn>, IConvertible, IGet { int? id; QueryBookings({this.id}); QueryBookings.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); id = json['id']; return this; } Map toJson() => super.toJson()..addAll({ 'id': id }); createResponse() => QueryResponse(); getResponseTypeName() => "QueryResponse"; getTypeName() => "QueryBookings"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'blazor_gallery.servicestack.net', types: { 'RoomType': TypeInfo(TypeOf.Enum, enumValues:RoomType.values), 'Coupon': TypeInfo(TypeOf.Class, create:() => Coupon()), 'Booking': TypeInfo(TypeOf.Class, create:() => Booking()), 'QueryResponse': TypeInfo(TypeOf.Class, create:() => QueryResponse()), 'QueryBookings': TypeInfo(TypeOf.Class, create:() => QueryBookings()), 'List': TypeInfo(TypeOf.Class, create:() => []), });