/* Options: Date: 2026-06-27 20:29:06 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: PmJobRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class PmJobCrew implements IConvertible { int? ContactID; String? Name; double? Rate; double? BudgetedHours; bool? IsOpen; PmJobCrew({this.ContactID,this.Name,this.Rate,this.BudgetedHours,this.IsOpen}); PmJobCrew.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactID = json['ContactID']; Name = json['Name']; Rate = JsonConverters.toDouble(json['Rate']); BudgetedHours = JsonConverters.toDouble(json['BudgetedHours']); IsOpen = json['IsOpen']; return this; } Map toJson() => { 'ContactID': ContactID, 'Name': Name, 'Rate': Rate, 'BudgetedHours': BudgetedHours, 'IsOpen': IsOpen }; getTypeName() => "PmJobCrew"; TypeContext? context = _ctx; } class PmJobResource implements IConvertible { int? Id; String? Name; double? Amount; int? Qty; String? Unit; PmJobResource({this.Id,this.Name,this.Amount,this.Qty,this.Unit}); PmJobResource.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Amount = JsonConverters.toDouble(json['Amount']); Qty = json['Qty']; Unit = json['Unit']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Amount': Amount, 'Qty': Qty, 'Unit': Unit }; getTypeName() => "PmJobResource"; TypeContext? context = _ctx; } class PmJob implements IConvertible { int? JobID; String? Name; String? Description; String? Status; String? StartDate; String? EndDate; int? CrewCount; double? BudgetedHours; int? EquipmentCount; int? MaterialCount; double? CrewCost; double? EquipCost; double? MatCost; double? Cost; bool? NoCrew; bool? EquipConflict; bool? MaterialGap; int? ReadyPct; String? Priority; List? Tags = []; List? Crew = []; List? Equipment = []; List? Materials = []; PmJob({this.JobID,this.Name,this.Description,this.Status,this.StartDate,this.EndDate,this.CrewCount,this.BudgetedHours,this.EquipmentCount,this.MaterialCount,this.CrewCost,this.EquipCost,this.MatCost,this.Cost,this.NoCrew,this.EquipConflict,this.MaterialGap,this.ReadyPct,this.Priority,this.Tags,this.Crew,this.Equipment,this.Materials}); PmJob.fromJson(Map json) { fromMap(json); } fromMap(Map json) { JobID = json['JobID']; Name = json['Name']; Description = json['Description']; Status = json['Status']; StartDate = json['StartDate']; EndDate = json['EndDate']; CrewCount = json['CrewCount']; BudgetedHours = JsonConverters.toDouble(json['BudgetedHours']); EquipmentCount = json['EquipmentCount']; MaterialCount = json['MaterialCount']; CrewCost = JsonConverters.toDouble(json['CrewCost']); EquipCost = JsonConverters.toDouble(json['EquipCost']); MatCost = JsonConverters.toDouble(json['MatCost']); Cost = JsonConverters.toDouble(json['Cost']); NoCrew = json['NoCrew']; EquipConflict = json['EquipConflict']; MaterialGap = json['MaterialGap']; ReadyPct = json['ReadyPct']; Priority = json['Priority']; Tags = JsonConverters.fromJson(json['Tags'],'List',context!); Crew = JsonConverters.fromJson(json['Crew'],'List',context!); Equipment = JsonConverters.fromJson(json['Equipment'],'List',context!); Materials = JsonConverters.fromJson(json['Materials'],'List',context!); return this; } Map toJson() => { 'JobID': JobID, 'Name': Name, 'Description': Description, 'Status': Status, 'StartDate': StartDate, 'EndDate': EndDate, 'CrewCount': CrewCount, 'BudgetedHours': BudgetedHours, 'EquipmentCount': EquipmentCount, 'MaterialCount': MaterialCount, 'CrewCost': CrewCost, 'EquipCost': EquipCost, 'MatCost': MatCost, 'Cost': Cost, 'NoCrew': NoCrew, 'EquipConflict': EquipConflict, 'MaterialGap': MaterialGap, 'ReadyPct': ReadyPct, 'Priority': Priority, 'Tags': JsonConverters.toJson(Tags,'List',context!), 'Crew': JsonConverters.toJson(Crew,'List',context!), 'Equipment': JsonConverters.toJson(Equipment,'List',context!), 'Materials': JsonConverters.toJson(Materials,'List',context!) }; getTypeName() => "PmJob"; TypeContext? context = _ctx; } class PmJobResponse implements IConvertible { PmJob? Job; ResponseStatus? ResponseStatus; PmJobResponse({this.Job,this.ResponseStatus}); PmJobResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Job = JsonConverters.fromJson(json['Job'],'PmJob',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Job': JsonConverters.toJson(Job,'PmJob',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "PmJobResponse"; TypeContext? context = _ctx; } // @Route("/v1/pm/job/{JobID}", "GET,OPTIONS") class PmJobRequest implements IReturn, IConvertible, IGet { int? JobID; PmJobRequest({this.JobID}); PmJobRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { JobID = json['JobID']; return this; } Map toJson() => { 'JobID': JobID }; createResponse() => PmJobResponse(); getResponseTypeName() => "PmJobResponse"; getTypeName() => "PmJobRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'PmJobCrew': TypeInfo(TypeOf.Class, create:() => PmJobCrew()), 'PmJobResource': TypeInfo(TypeOf.Class, create:() => PmJobResource()), 'PmJob': TypeInfo(TypeOf.Class, create:() => PmJob()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PmJobResponse': TypeInfo(TypeOf.Class, create:() => PmJobResponse()), 'PmJobRequest': TypeInfo(TypeOf.Class, create:() => PmJobRequest()), });