/* Options: Date: 2026-07-08 21:11:00 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: ChangeOrderCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ChangeOrderLine implements IConvertible { int? ChangeOrderLineID; int? ChangeOrderID; String? Category; String? Description; double? CostUSD; double? MarkupPct; String? CostCode; int? SortOrder; ChangeOrderLine({this.ChangeOrderLineID,this.ChangeOrderID,this.Category,this.Description,this.CostUSD,this.MarkupPct,this.CostCode,this.SortOrder}); ChangeOrderLine.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChangeOrderLineID = json['ChangeOrderLineID']; ChangeOrderID = json['ChangeOrderID']; Category = json['Category']; Description = json['Description']; CostUSD = JsonConverters.toDouble(json['CostUSD']); MarkupPct = JsonConverters.toDouble(json['MarkupPct']); CostCode = json['CostCode']; SortOrder = json['SortOrder']; return this; } Map toJson() => { 'ChangeOrderLineID': ChangeOrderLineID, 'ChangeOrderID': ChangeOrderID, 'Category': Category, 'Description': Description, 'CostUSD': CostUSD, 'MarkupPct': MarkupPct, 'CostCode': CostCode, 'SortOrder': SortOrder }; getTypeName() => "ChangeOrderLine"; TypeContext? context = _ctx; } class ChangeOrder implements IConvertible { int? ChangeOrderID; String? ChangeOrderUID; int? ProjectID; String? CONumber; String? Title; String? Scope; String? Status; double? CostUSD; double? PriceUSD; int? ScheduleDays; double? OverheadProfitPct; String? PricingMethod; String? OriginType; String? OriginRef; String? CostCode; DateTime? OpenedAt; DateTime? SubmittedAt; DateTime? DecidedAt; String? CreatedBy; DateTime? CreatedAt; DateTime? UpdatedAt; int? DaysOpen; List? Lines = []; ChangeOrder({this.ChangeOrderID,this.ChangeOrderUID,this.ProjectID,this.CONumber,this.Title,this.Scope,this.Status,this.CostUSD,this.PriceUSD,this.ScheduleDays,this.OverheadProfitPct,this.PricingMethod,this.OriginType,this.OriginRef,this.CostCode,this.OpenedAt,this.SubmittedAt,this.DecidedAt,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.DaysOpen,this.Lines}); ChangeOrder.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChangeOrderID = json['ChangeOrderID']; ChangeOrderUID = json['ChangeOrderUID']; ProjectID = json['ProjectID']; CONumber = json['CONumber']; Title = json['Title']; Scope = json['Scope']; Status = json['Status']; CostUSD = JsonConverters.toDouble(json['CostUSD']); PriceUSD = JsonConverters.toDouble(json['PriceUSD']); ScheduleDays = json['ScheduleDays']; OverheadProfitPct = JsonConverters.toDouble(json['OverheadProfitPct']); PricingMethod = json['PricingMethod']; OriginType = json['OriginType']; OriginRef = json['OriginRef']; CostCode = json['CostCode']; OpenedAt = JsonConverters.fromJson(json['OpenedAt'],'DateTime',context!); SubmittedAt = JsonConverters.fromJson(json['SubmittedAt'],'DateTime',context!); DecidedAt = JsonConverters.fromJson(json['DecidedAt'],'DateTime',context!); CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); DaysOpen = json['DaysOpen']; Lines = JsonConverters.fromJson(json['Lines'],'List',context!); return this; } Map toJson() => { 'ChangeOrderID': ChangeOrderID, 'ChangeOrderUID': ChangeOrderUID, 'ProjectID': ProjectID, 'CONumber': CONumber, 'Title': Title, 'Scope': Scope, 'Status': Status, 'CostUSD': CostUSD, 'PriceUSD': PriceUSD, 'ScheduleDays': ScheduleDays, 'OverheadProfitPct': OverheadProfitPct, 'PricingMethod': PricingMethod, 'OriginType': OriginType, 'OriginRef': OriginRef, 'CostCode': CostCode, 'OpenedAt': JsonConverters.toJson(OpenedAt,'DateTime',context!), 'SubmittedAt': JsonConverters.toJson(SubmittedAt,'DateTime',context!), 'DecidedAt': JsonConverters.toJson(DecidedAt,'DateTime',context!), 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'DaysOpen': DaysOpen, 'Lines': JsonConverters.toJson(Lines,'List',context!) }; getTypeName() => "ChangeOrder"; TypeContext? context = _ctx; } class ChangeOrderContractSummary implements IConvertible { int? ProjectID; double? OriginalContract; double? ApprovedCOValue; int? ApprovedCOCount; double? PendingCOValue; int? PendingCOCount; double? RevisedContract; double? PotentialContract; int? ApprovedScheduleDays; ChangeOrderContractSummary({this.ProjectID,this.OriginalContract,this.ApprovedCOValue,this.ApprovedCOCount,this.PendingCOValue,this.PendingCOCount,this.RevisedContract,this.PotentialContract,this.ApprovedScheduleDays}); ChangeOrderContractSummary.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; OriginalContract = JsonConverters.toDouble(json['OriginalContract']); ApprovedCOValue = JsonConverters.toDouble(json['ApprovedCOValue']); ApprovedCOCount = json['ApprovedCOCount']; PendingCOValue = JsonConverters.toDouble(json['PendingCOValue']); PendingCOCount = json['PendingCOCount']; RevisedContract = JsonConverters.toDouble(json['RevisedContract']); PotentialContract = JsonConverters.toDouble(json['PotentialContract']); ApprovedScheduleDays = json['ApprovedScheduleDays']; return this; } Map toJson() => { 'ProjectID': ProjectID, 'OriginalContract': OriginalContract, 'ApprovedCOValue': ApprovedCOValue, 'ApprovedCOCount': ApprovedCOCount, 'PendingCOValue': PendingCOValue, 'PendingCOCount': PendingCOCount, 'RevisedContract': RevisedContract, 'PotentialContract': PotentialContract, 'ApprovedScheduleDays': ApprovedScheduleDays }; getTypeName() => "ChangeOrderContractSummary"; TypeContext? context = _ctx; } class ChangeOrderResponse implements IConvertible { ResponseStatus? ResponseStatus; ChangeOrder? Order; ChangeOrderContractSummary? Summary; ChangeOrderResponse({this.ResponseStatus,this.Order,this.Summary}); ChangeOrderResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Order = JsonConverters.fromJson(json['Order'],'ChangeOrder',context!); Summary = JsonConverters.fromJson(json['Summary'],'ChangeOrderContractSummary',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Order': JsonConverters.toJson(Order,'ChangeOrder',context!), 'Summary': JsonConverters.toJson(Summary,'ChangeOrderContractSummary',context!) }; getTypeName() => "ChangeOrderResponse"; TypeContext? context = _ctx; } // @Route("/v1/projects/{ProjectID}/change-orders", "POST,OPTIONS") class ChangeOrderCreateRequest implements IReturn, IConvertible, IPost { int? ProjectID; String? CONumber; String? Title; String? Scope; String? OriginType; String? OriginRef; String? CostCode; int? ScheduleDays; double? OverheadProfitPct; ChangeOrderCreateRequest({this.ProjectID,this.CONumber,this.Title,this.Scope,this.OriginType,this.OriginRef,this.CostCode,this.ScheduleDays,this.OverheadProfitPct}); ChangeOrderCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; CONumber = json['CONumber']; Title = json['Title']; Scope = json['Scope']; OriginType = json['OriginType']; OriginRef = json['OriginRef']; CostCode = json['CostCode']; ScheduleDays = json['ScheduleDays']; OverheadProfitPct = JsonConverters.toDouble(json['OverheadProfitPct']); return this; } Map toJson() => { 'ProjectID': ProjectID, 'CONumber': CONumber, 'Title': Title, 'Scope': Scope, 'OriginType': OriginType, 'OriginRef': OriginRef, 'CostCode': CostCode, 'ScheduleDays': ScheduleDays, 'OverheadProfitPct': OverheadProfitPct }; createResponse() => ChangeOrderResponse(); getResponseTypeName() => "ChangeOrderResponse"; getTypeName() => "ChangeOrderCreateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'ChangeOrderLine': TypeInfo(TypeOf.Class, create:() => ChangeOrderLine()), 'ChangeOrder': TypeInfo(TypeOf.Class, create:() => ChangeOrder()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ChangeOrderContractSummary': TypeInfo(TypeOf.Class, create:() => ChangeOrderContractSummary()), 'ChangeOrderResponse': TypeInfo(TypeOf.Class, create:() => ChangeOrderResponse()), 'ChangeOrderCreateRequest': TypeInfo(TypeOf.Class, create:() => ChangeOrderCreateRequest()), });