/* Options: Date: 2026-06-22 21:46:21 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PortalInvoiceRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class InvoiceLineItem implements IConvertible { int? InvoiceLineItemID; int? InvoiceID; String? Type; String? Name; int? Quantity; double? PercentageAdjust; double? AmountAdjust; double? Price; String? Description; String? Notes; bool? IsTaxable; int? DisplayOrder; bool? IsLocked; bool? IsDeleted; bool? IsPaid; DateTime? CreatedDate; DateTime? ModifiedDate; String? CreatedByUID; InvoiceLineItem({this.InvoiceLineItemID,this.InvoiceID,this.Type,this.Name,this.Quantity,this.PercentageAdjust,this.AmountAdjust,this.Price,this.Description,this.Notes,this.IsTaxable,this.DisplayOrder,this.IsLocked,this.IsDeleted,this.IsPaid,this.CreatedDate,this.ModifiedDate,this.CreatedByUID}); InvoiceLineItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { InvoiceLineItemID = json['InvoiceLineItemID']; InvoiceID = json['InvoiceID']; Type = json['Type']; Name = json['Name']; Quantity = json['Quantity']; PercentageAdjust = JsonConverters.toDouble(json['PercentageAdjust']); AmountAdjust = JsonConverters.toDouble(json['AmountAdjust']); Price = JsonConverters.toDouble(json['Price']); Description = json['Description']; Notes = json['Notes']; IsTaxable = json['IsTaxable']; DisplayOrder = json['DisplayOrder']; IsLocked = json['IsLocked']; IsDeleted = json['IsDeleted']; IsPaid = json['IsPaid']; CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); CreatedByUID = json['CreatedByUID']; return this; } Map toJson() => { 'InvoiceLineItemID': InvoiceLineItemID, 'InvoiceID': InvoiceID, 'Type': Type, 'Name': Name, 'Quantity': Quantity, 'PercentageAdjust': PercentageAdjust, 'AmountAdjust': AmountAdjust, 'Price': Price, 'Description': Description, 'Notes': Notes, 'IsTaxable': IsTaxable, 'DisplayOrder': DisplayOrder, 'IsLocked': IsLocked, 'IsDeleted': IsDeleted, 'IsPaid': IsPaid, 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'CreatedByUID': CreatedByUID }; getTypeName() => "InvoiceLineItem"; TypeContext? context = _ctx; } class PortalInvoiceResponse implements IConvertible { ResponseStatus? ResponseStatus; String? InvoiceNumber; DateTime? InvoiceDate; DateTime? DueDate; String? FromName; String? FromAddress; String? ToName; String? ToAddress; String? Currency; double? Total; double? AmountPaid; double? Balance; bool? IsPaid; List? LineItems = []; PortalInvoiceResponse({this.ResponseStatus,this.InvoiceNumber,this.InvoiceDate,this.DueDate,this.FromName,this.FromAddress,this.ToName,this.ToAddress,this.Currency,this.Total,this.AmountPaid,this.Balance,this.IsPaid,this.LineItems}); PortalInvoiceResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); InvoiceNumber = json['InvoiceNumber']; InvoiceDate = JsonConverters.fromJson(json['InvoiceDate'],'DateTime',context!); DueDate = JsonConverters.fromJson(json['DueDate'],'DateTime',context!); FromName = json['FromName']; FromAddress = json['FromAddress']; ToName = json['ToName']; ToAddress = json['ToAddress']; Currency = json['Currency']; Total = JsonConverters.toDouble(json['Total']); AmountPaid = JsonConverters.toDouble(json['AmountPaid']); Balance = JsonConverters.toDouble(json['Balance']); IsPaid = json['IsPaid']; LineItems = JsonConverters.fromJson(json['LineItems'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'InvoiceNumber': InvoiceNumber, 'InvoiceDate': JsonConverters.toJson(InvoiceDate,'DateTime',context!), 'DueDate': JsonConverters.toJson(DueDate,'DateTime',context!), 'FromName': FromName, 'FromAddress': FromAddress, 'ToName': ToName, 'ToAddress': ToAddress, 'Currency': Currency, 'Total': Total, 'AmountPaid': AmountPaid, 'Balance': Balance, 'IsPaid': IsPaid, 'LineItems': JsonConverters.toJson(LineItems,'List',context!) }; getTypeName() => "PortalInvoiceResponse"; TypeContext? context = _ctx; } // @Route("/portal/{Token}/invoice", "GET,OPTIONS") class PortalInvoiceRequest implements IReturn, IConvertible, IGet { String? Token; PortalInvoiceRequest({this.Token}); PortalInvoiceRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Token = json['Token']; return this; } Map toJson() => { 'Token': Token }; createResponse() => PortalInvoiceResponse(); getResponseTypeName() => "PortalInvoiceResponse"; getTypeName() => "PortalInvoiceRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'InvoiceLineItem': TypeInfo(TypeOf.Class, create:() => InvoiceLineItem()), 'PortalInvoiceResponse': TypeInfo(TypeOf.Class, create:() => PortalInvoiceResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PortalInvoiceRequest': TypeInfo(TypeOf.Class, create:() => PortalInvoiceRequest()), });