/* Options: Date: 2026-06-13 04:12:39 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: RfpSchedulePreviewRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ResourcedPosition implements IConvertible { String? PositionTag; double? Hours; int? Headcount; String? SourceReference; String? Notes; bool? IsInCatalog; int? ContactID; ResourcedPosition({this.PositionTag,this.Hours,this.Headcount,this.SourceReference,this.Notes,this.IsInCatalog,this.ContactID}); ResourcedPosition.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PositionTag = json['PositionTag']; Hours = JsonConverters.toDouble(json['Hours']); Headcount = json['Headcount']; SourceReference = json['SourceReference']; Notes = json['Notes']; IsInCatalog = json['IsInCatalog']; ContactID = json['ContactID']; return this; } Map toJson() => { 'PositionTag': PositionTag, 'Hours': Hours, 'Headcount': Headcount, 'SourceReference': SourceReference, 'Notes': Notes, 'IsInCatalog': IsInCatalog, 'ContactID': ContactID }; getTypeName() => "ResourcedPosition"; TypeContext? context = _ctx; } class ResourcedEquipment implements IConvertible { int? EquipmentID; String? EquipmentName; String? MakeModel; double? Quantity; double? DurationDays; String? SourceReference; String? Notes; bool? IsInCatalog; int? SuggestedEquipmentID; String? SuggestedEquipmentName; ResourcedEquipment({this.EquipmentID,this.EquipmentName,this.MakeModel,this.Quantity,this.DurationDays,this.SourceReference,this.Notes,this.IsInCatalog,this.SuggestedEquipmentID,this.SuggestedEquipmentName}); ResourcedEquipment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EquipmentID = json['EquipmentID']; EquipmentName = json['EquipmentName']; MakeModel = json['MakeModel']; Quantity = JsonConverters.toDouble(json['Quantity']); DurationDays = JsonConverters.toDouble(json['DurationDays']); SourceReference = json['SourceReference']; Notes = json['Notes']; IsInCatalog = json['IsInCatalog']; SuggestedEquipmentID = json['SuggestedEquipmentID']; SuggestedEquipmentName = json['SuggestedEquipmentName']; return this; } Map toJson() => { 'EquipmentID': EquipmentID, 'EquipmentName': EquipmentName, 'MakeModel': MakeModel, 'Quantity': Quantity, 'DurationDays': DurationDays, 'SourceReference': SourceReference, 'Notes': Notes, 'IsInCatalog': IsInCatalog, 'SuggestedEquipmentID': SuggestedEquipmentID, 'SuggestedEquipmentName': SuggestedEquipmentName }; getTypeName() => "ResourcedEquipment"; TypeContext? context = _ctx; } class ResourcedMaterial implements IConvertible { int? MaterialID; String? MaterialName; String? MakeModel; double? Quantity; String? Unit; String? SourceReference; String? Notes; bool? IsInCatalog; int? SuggestedMaterialID; String? SuggestedMaterialName; ResourcedMaterial({this.MaterialID,this.MaterialName,this.MakeModel,this.Quantity,this.Unit,this.SourceReference,this.Notes,this.IsInCatalog,this.SuggestedMaterialID,this.SuggestedMaterialName}); ResourcedMaterial.fromJson(Map json) { fromMap(json); } fromMap(Map json) { MaterialID = json['MaterialID']; MaterialName = json['MaterialName']; MakeModel = json['MakeModel']; Quantity = JsonConverters.toDouble(json['Quantity']); Unit = json['Unit']; SourceReference = json['SourceReference']; Notes = json['Notes']; IsInCatalog = json['IsInCatalog']; SuggestedMaterialID = json['SuggestedMaterialID']; SuggestedMaterialName = json['SuggestedMaterialName']; return this; } Map toJson() => { 'MaterialID': MaterialID, 'MaterialName': MaterialName, 'MakeModel': MakeModel, 'Quantity': Quantity, 'Unit': Unit, 'SourceReference': SourceReference, 'Notes': Notes, 'IsInCatalog': IsInCatalog, 'SuggestedMaterialID': SuggestedMaterialID, 'SuggestedMaterialName': SuggestedMaterialName }; getTypeName() => "ResourcedMaterial"; TypeContext? context = _ctx; } class TaskResourcing implements IConvertible { List? Positions = []; List? Equipment = []; List? Materials = []; TaskResourcing({this.Positions,this.Equipment,this.Materials}); TaskResourcing.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Positions = JsonConverters.fromJson(json['Positions'],'List',context!); Equipment = JsonConverters.fromJson(json['Equipment'],'List',context!); Materials = JsonConverters.fromJson(json['Materials'],'List',context!); return this; } Map toJson() => { 'Positions': JsonConverters.toJson(Positions,'List',context!), 'Equipment': JsonConverters.toJson(Equipment,'List',context!), 'Materials': JsonConverters.toJson(Materials,'List',context!) }; getTypeName() => "TaskResourcing"; TypeContext? context = _ctx; } class ProposedTask implements IConvertible { int? Seq; String? Name; String? Category; double? Quantity; String? Unit; String? SourceItemNumber; String? SourceReference; String? Notes; TaskResourcing? Resourcing; double? DurationDays; List? DependsOn = []; DateTime? EstimatedStartDate; DateTime? EstimatedEndDate; ProposedTask({this.Seq,this.Name,this.Category,this.Quantity,this.Unit,this.SourceItemNumber,this.SourceReference,this.Notes,this.Resourcing,this.DurationDays,this.DependsOn,this.EstimatedStartDate,this.EstimatedEndDate}); ProposedTask.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Seq = json['Seq']; Name = json['Name']; Category = json['Category']; Quantity = JsonConverters.toDouble(json['Quantity']); Unit = json['Unit']; SourceItemNumber = json['SourceItemNumber']; SourceReference = json['SourceReference']; Notes = json['Notes']; Resourcing = JsonConverters.fromJson(json['Resourcing'],'TaskResourcing',context!); DurationDays = JsonConverters.toDouble(json['DurationDays']); DependsOn = JsonConverters.fromJson(json['DependsOn'],'List',context!); EstimatedStartDate = JsonConverters.fromJson(json['EstimatedStartDate'],'DateTime',context!); EstimatedEndDate = JsonConverters.fromJson(json['EstimatedEndDate'],'DateTime',context!); return this; } Map toJson() => { 'Seq': Seq, 'Name': Name, 'Category': Category, 'Quantity': Quantity, 'Unit': Unit, 'SourceItemNumber': SourceItemNumber, 'SourceReference': SourceReference, 'Notes': Notes, 'Resourcing': JsonConverters.toJson(Resourcing,'TaskResourcing',context!), 'DurationDays': DurationDays, 'DependsOn': JsonConverters.toJson(DependsOn,'List',context!), 'EstimatedStartDate': JsonConverters.toJson(EstimatedStartDate,'DateTime',context!), 'EstimatedEndDate': JsonConverters.toJson(EstimatedEndDate,'DateTime',context!) }; getTypeName() => "ProposedTask"; TypeContext? context = _ctx; } class ProjectProposal implements IConvertible { int? RfpDocumentID; String? ProjectName; String? ClientName; String? ProjectType; String? ProjectLocation; String? Scope; String? ProjectDescription; int? ContractDurationDays; String? BidDueDate; DateTime? EstimatedStartDate; DateTime? EstimatedEndDate; List? Tasks = []; ProjectProposal({this.RfpDocumentID,this.ProjectName,this.ClientName,this.ProjectType,this.ProjectLocation,this.Scope,this.ProjectDescription,this.ContractDurationDays,this.BidDueDate,this.EstimatedStartDate,this.EstimatedEndDate,this.Tasks}); ProjectProposal.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RfpDocumentID = json['RfpDocumentID']; ProjectName = json['ProjectName']; ClientName = json['ClientName']; ProjectType = json['ProjectType']; ProjectLocation = json['ProjectLocation']; Scope = json['Scope']; ProjectDescription = json['ProjectDescription']; ContractDurationDays = json['ContractDurationDays']; BidDueDate = json['BidDueDate']; EstimatedStartDate = JsonConverters.fromJson(json['EstimatedStartDate'],'DateTime',context!); EstimatedEndDate = JsonConverters.fromJson(json['EstimatedEndDate'],'DateTime',context!); Tasks = JsonConverters.fromJson(json['Tasks'],'List',context!); return this; } Map toJson() => { 'RfpDocumentID': RfpDocumentID, 'ProjectName': ProjectName, 'ClientName': ClientName, 'ProjectType': ProjectType, 'ProjectLocation': ProjectLocation, 'Scope': Scope, 'ProjectDescription': ProjectDescription, 'ContractDurationDays': ContractDurationDays, 'BidDueDate': BidDueDate, 'EstimatedStartDate': JsonConverters.toJson(EstimatedStartDate,'DateTime',context!), 'EstimatedEndDate': JsonConverters.toJson(EstimatedEndDate,'DateTime',context!), 'Tasks': JsonConverters.toJson(Tasks,'List',context!) }; getTypeName() => "ProjectProposal"; TypeContext? context = _ctx; } class CrewPlanLine implements IConvertible { String? PositionTag; int? Needed; int? NaiveTotal; int? TaskAssignments; CrewPlanLine({this.PositionTag,this.Needed,this.NaiveTotal,this.TaskAssignments}); CrewPlanLine.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PositionTag = json['PositionTag']; Needed = json['Needed']; NaiveTotal = json['NaiveTotal']; TaskAssignments = json['TaskAssignments']; return this; } Map toJson() => { 'PositionTag': PositionTag, 'Needed': Needed, 'NaiveTotal': NaiveTotal, 'TaskAssignments': TaskAssignments }; getTypeName() => "CrewPlanLine"; TypeContext? context = _ctx; } class RfpProposalResponse implements IConvertible { ResponseStatus? ResponseStatus; int? RfpDocumentID; ProjectProposal? Proposal; List? CrewPlan = []; RfpProposalResponse({this.ResponseStatus,this.RfpDocumentID,this.Proposal,this.CrewPlan}); RfpProposalResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); RfpDocumentID = json['RfpDocumentID']; Proposal = JsonConverters.fromJson(json['Proposal'],'ProjectProposal',context!); CrewPlan = JsonConverters.fromJson(json['CrewPlan'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'RfpDocumentID': RfpDocumentID, 'Proposal': JsonConverters.toJson(Proposal,'ProjectProposal',context!), 'CrewPlan': JsonConverters.toJson(CrewPlan,'List',context!) }; getTypeName() => "RfpProposalResponse"; TypeContext? context = _ctx; } // @Route("/v1/Rfp/SchedulePreview", "POST,OPTIONS") class RfpSchedulePreviewRequest implements IReturn, IConvertible, IPost { ProjectProposal? Proposal; RfpSchedulePreviewRequest({this.Proposal}); RfpSchedulePreviewRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Proposal = JsonConverters.fromJson(json['Proposal'],'ProjectProposal',context!); return this; } Map toJson() => { 'Proposal': JsonConverters.toJson(Proposal,'ProjectProposal',context!) }; createResponse() => RfpProposalResponse(); getResponseTypeName() => "RfpProposalResponse"; getTypeName() => "RfpSchedulePreviewRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'ResourcedPosition': TypeInfo(TypeOf.Class, create:() => ResourcedPosition()), 'ResourcedEquipment': TypeInfo(TypeOf.Class, create:() => ResourcedEquipment()), 'ResourcedMaterial': TypeInfo(TypeOf.Class, create:() => ResourcedMaterial()), 'TaskResourcing': TypeInfo(TypeOf.Class, create:() => TaskResourcing()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ProposedTask': TypeInfo(TypeOf.Class, create:() => ProposedTask()), 'ProjectProposal': TypeInfo(TypeOf.Class, create:() => ProjectProposal()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CrewPlanLine': TypeInfo(TypeOf.Class, create:() => CrewPlanLine()), 'RfpProposalResponse': TypeInfo(TypeOf.Class, create:() => RfpProposalResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RfpSchedulePreviewRequest': TypeInfo(TypeOf.Class, create:() => RfpSchedulePreviewRequest()), });