/* Options: Date: 2026-07-08 21:12:14 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: PurchaseOrderListRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class PurchaseOrderLine implements IConvertible { int? PurchaseOrderLineID; int? PurchaseOrderID; int? MaterialID; String? Description; String? Unit; double? Qty; double? UnitPrice; double? QtyReceived; String? CostCode; int? SortOrder; PurchaseOrderLine({this.PurchaseOrderLineID,this.PurchaseOrderID,this.MaterialID,this.Description,this.Unit,this.Qty,this.UnitPrice,this.QtyReceived,this.CostCode,this.SortOrder}); PurchaseOrderLine.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PurchaseOrderLineID = json['PurchaseOrderLineID']; PurchaseOrderID = json['PurchaseOrderID']; MaterialID = json['MaterialID']; Description = json['Description']; Unit = json['Unit']; Qty = JsonConverters.toDouble(json['Qty']); UnitPrice = JsonConverters.toDouble(json['UnitPrice']); QtyReceived = JsonConverters.toDouble(json['QtyReceived']); CostCode = json['CostCode']; SortOrder = json['SortOrder']; return this; } Map toJson() => { 'PurchaseOrderLineID': PurchaseOrderLineID, 'PurchaseOrderID': PurchaseOrderID, 'MaterialID': MaterialID, 'Description': Description, 'Unit': Unit, 'Qty': Qty, 'UnitPrice': UnitPrice, 'QtyReceived': QtyReceived, 'CostCode': CostCode, 'SortOrder': SortOrder }; getTypeName() => "PurchaseOrderLine"; TypeContext? context = _ctx; } class PurchaseOrder implements IConvertible { int? PurchaseOrderID; String? PurchaseOrderUID; int? ProjectID; String? PONumber; String? Vendor; String? Status; double? AmountUSD; String? CostCode; DateTime? NeedByDate; String? Notes; DateTime? IssuedAt; DateTime? ReceivedAt; String? CreatedBy; DateTime? CreatedAt; DateTime? UpdatedAt; int? LineCount; String? FirstItem; int? DaysToNeed; List? Lines = []; PurchaseOrder({this.PurchaseOrderID,this.PurchaseOrderUID,this.ProjectID,this.PONumber,this.Vendor,this.Status,this.AmountUSD,this.CostCode,this.NeedByDate,this.Notes,this.IssuedAt,this.ReceivedAt,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.LineCount,this.FirstItem,this.DaysToNeed,this.Lines}); PurchaseOrder.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PurchaseOrderID = json['PurchaseOrderID']; PurchaseOrderUID = json['PurchaseOrderUID']; ProjectID = json['ProjectID']; PONumber = json['PONumber']; Vendor = json['Vendor']; Status = json['Status']; AmountUSD = JsonConverters.toDouble(json['AmountUSD']); CostCode = json['CostCode']; NeedByDate = JsonConverters.fromJson(json['NeedByDate'],'DateTime',context!); Notes = json['Notes']; IssuedAt = JsonConverters.fromJson(json['IssuedAt'],'DateTime',context!); ReceivedAt = JsonConverters.fromJson(json['ReceivedAt'],'DateTime',context!); CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); LineCount = json['LineCount']; FirstItem = json['FirstItem']; DaysToNeed = json['DaysToNeed']; Lines = JsonConverters.fromJson(json['Lines'],'List',context!); return this; } Map toJson() => { 'PurchaseOrderID': PurchaseOrderID, 'PurchaseOrderUID': PurchaseOrderUID, 'ProjectID': ProjectID, 'PONumber': PONumber, 'Vendor': Vendor, 'Status': Status, 'AmountUSD': AmountUSD, 'CostCode': CostCode, 'NeedByDate': JsonConverters.toJson(NeedByDate,'DateTime',context!), 'Notes': Notes, 'IssuedAt': JsonConverters.toJson(IssuedAt,'DateTime',context!), 'ReceivedAt': JsonConverters.toJson(ReceivedAt,'DateTime',context!), 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'LineCount': LineCount, 'FirstItem': FirstItem, 'DaysToNeed': DaysToNeed, 'Lines': JsonConverters.toJson(Lines,'List',context!) }; getTypeName() => "PurchaseOrder"; TypeContext? context = _ctx; } class PurchaseOrderBuyoutSummary implements IConvertible { int? ProjectID; double? MaterialBudget; double? Committed; double? Received; int? OpenPOs; int? LatePOs; int? POCount; double? RemainingBuyout; PurchaseOrderBuyoutSummary({this.ProjectID,this.MaterialBudget,this.Committed,this.Received,this.OpenPOs,this.LatePOs,this.POCount,this.RemainingBuyout}); PurchaseOrderBuyoutSummary.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; MaterialBudget = JsonConverters.toDouble(json['MaterialBudget']); Committed = JsonConverters.toDouble(json['Committed']); Received = JsonConverters.toDouble(json['Received']); OpenPOs = json['OpenPOs']; LatePOs = json['LatePOs']; POCount = json['POCount']; RemainingBuyout = JsonConverters.toDouble(json['RemainingBuyout']); return this; } Map toJson() => { 'ProjectID': ProjectID, 'MaterialBudget': MaterialBudget, 'Committed': Committed, 'Received': Received, 'OpenPOs': OpenPOs, 'LatePOs': LatePOs, 'POCount': POCount, 'RemainingBuyout': RemainingBuyout }; getTypeName() => "PurchaseOrderBuyoutSummary"; TypeContext? context = _ctx; } class PurchaseOrderListResponse implements IConvertible { ResponseStatus? ResponseStatus; int? ProjectID; List? Orders = []; PurchaseOrderBuyoutSummary? Summary; PurchaseOrderListResponse({this.ResponseStatus,this.ProjectID,this.Orders,this.Summary}); PurchaseOrderListResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); ProjectID = json['ProjectID']; Orders = JsonConverters.fromJson(json['Orders'],'List',context!); Summary = JsonConverters.fromJson(json['Summary'],'PurchaseOrderBuyoutSummary',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'ProjectID': ProjectID, 'Orders': JsonConverters.toJson(Orders,'List',context!), 'Summary': JsonConverters.toJson(Summary,'PurchaseOrderBuyoutSummary',context!) }; getTypeName() => "PurchaseOrderListResponse"; TypeContext? context = _ctx; } // @Route("/v1/projects/{ProjectID}/purchase-orders", "GET,OPTIONS") class PurchaseOrderListRequest implements IReturn, IConvertible, IGet { int? ProjectID; PurchaseOrderListRequest({this.ProjectID}); PurchaseOrderListRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; return this; } Map toJson() => { 'ProjectID': ProjectID }; createResponse() => PurchaseOrderListResponse(); getResponseTypeName() => "PurchaseOrderListResponse"; getTypeName() => "PurchaseOrderListRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'PurchaseOrderLine': TypeInfo(TypeOf.Class, create:() => PurchaseOrderLine()), 'PurchaseOrder': TypeInfo(TypeOf.Class, create:() => PurchaseOrder()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PurchaseOrderBuyoutSummary': TypeInfo(TypeOf.Class, create:() => PurchaseOrderBuyoutSummary()), 'PurchaseOrderListResponse': TypeInfo(TypeOf.Class, create:() => PurchaseOrderListResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PurchaseOrderListRequest': TypeInfo(TypeOf.Class, create:() => PurchaseOrderListRequest()), });