/* Options: Date: 2025-12-06 06:29:17 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: ProjectEquipmentListRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class Project implements IConvertible { int? ProjectID; String? ProjectUID; String? ProjectName; String? ImageURL; String? ImageKey; String? ClientName; String? ClientPhone; String? ClientEmail; int? ProjectManagerID; String? ProjectManagerName; DateTime? StartDate; DateTime? EndDate; DateTime? ActualStartDate; DateTime? ActualEndDate; int? JobCount; int? CrewMemberCount; int? EquipmentCount; int? MaterialCount; int? ProjectStatusID; String? ProjectStatusDescription; double? Budget; double? CostToDate; String? ProjectLocation; String? ProjectType; String? ProjectSponsor; String? CreatedBy; DateTime? CreatedAt; DateTime? UpdatedAt; String? ProjectDescription; String? Scope; int? StatusId; Project({this.ProjectID,this.ProjectUID,this.ProjectName,this.ImageURL,this.ImageKey,this.ClientName,this.ClientPhone,this.ClientEmail,this.ProjectManagerID,this.ProjectManagerName,this.StartDate,this.EndDate,this.ActualStartDate,this.ActualEndDate,this.JobCount,this.CrewMemberCount,this.EquipmentCount,this.MaterialCount,this.ProjectStatusID,this.ProjectStatusDescription,this.Budget,this.CostToDate,this.ProjectLocation,this.ProjectType,this.ProjectSponsor,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.ProjectDescription,this.Scope,this.StatusId}); Project.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; ProjectUID = json['ProjectUID']; ProjectName = json['ProjectName']; ImageURL = json['ImageURL']; ImageKey = json['ImageKey']; ClientName = json['ClientName']; ClientPhone = json['ClientPhone']; ClientEmail = json['ClientEmail']; ProjectManagerID = json['ProjectManagerID']; ProjectManagerName = json['ProjectManagerName']; StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!); EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!); ActualStartDate = JsonConverters.fromJson(json['ActualStartDate'],'DateTime',context!); ActualEndDate = JsonConverters.fromJson(json['ActualEndDate'],'DateTime',context!); JobCount = json['JobCount']; CrewMemberCount = json['CrewMemberCount']; EquipmentCount = json['EquipmentCount']; MaterialCount = json['MaterialCount']; ProjectStatusID = json['ProjectStatusID']; ProjectStatusDescription = json['ProjectStatusDescription']; Budget = JsonConverters.toDouble(json['Budget']); CostToDate = JsonConverters.toDouble(json['CostToDate']); ProjectLocation = json['ProjectLocation']; ProjectType = json['ProjectType']; ProjectSponsor = json['ProjectSponsor']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); ProjectDescription = json['ProjectDescription']; Scope = json['Scope']; StatusId = json['StatusId']; return this; } Map toJson() => { 'ProjectID': ProjectID, 'ProjectUID': ProjectUID, 'ProjectName': ProjectName, 'ImageURL': ImageURL, 'ImageKey': ImageKey, 'ClientName': ClientName, 'ClientPhone': ClientPhone, 'ClientEmail': ClientEmail, 'ProjectManagerID': ProjectManagerID, 'ProjectManagerName': ProjectManagerName, 'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!), 'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!), 'ActualStartDate': JsonConverters.toJson(ActualStartDate,'DateTime',context!), 'ActualEndDate': JsonConverters.toJson(ActualEndDate,'DateTime',context!), 'JobCount': JobCount, 'CrewMemberCount': CrewMemberCount, 'EquipmentCount': EquipmentCount, 'MaterialCount': MaterialCount, 'ProjectStatusID': ProjectStatusID, 'ProjectStatusDescription': ProjectStatusDescription, 'Budget': Budget, 'CostToDate': CostToDate, 'ProjectLocation': ProjectLocation, 'ProjectType': ProjectType, 'ProjectSponsor': ProjectSponsor, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'ProjectDescription': ProjectDescription, 'Scope': Scope, 'StatusId': StatusId }; getTypeName() => "Project"; TypeContext? context = _ctx; } class Equipment implements IConvertible { int? EquipmentID; String? EquipmentName; int? EquipmentTypeID; String? Manufacturer; String? EquipmentType; String? SerialNumber; String? BarCode; String? EquipmentLocation; String? ImageURL; String? ProductDetailsURL; DateTime? RecordCreatedDate; String? CreatedByUID; bool? Active; String? Notes; double? Rate; List? Projects = []; Equipment({this.EquipmentID,this.EquipmentName,this.EquipmentTypeID,this.Manufacturer,this.EquipmentType,this.SerialNumber,this.BarCode,this.EquipmentLocation,this.ImageURL,this.ProductDetailsURL,this.RecordCreatedDate,this.CreatedByUID,this.Active,this.Notes,this.Rate,this.Projects}); Equipment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EquipmentID = json['EquipmentID']; EquipmentName = json['EquipmentName']; EquipmentTypeID = json['EquipmentTypeID']; Manufacturer = json['Manufacturer']; EquipmentType = json['EquipmentType']; SerialNumber = json['SerialNumber']; BarCode = json['BarCode']; EquipmentLocation = json['EquipmentLocation']; ImageURL = json['ImageURL']; ProductDetailsURL = json['ProductDetailsURL']; RecordCreatedDate = JsonConverters.fromJson(json['RecordCreatedDate'],'DateTime',context!); CreatedByUID = json['CreatedByUID']; Active = json['Active']; Notes = json['Notes']; Rate = JsonConverters.toDouble(json['Rate']); Projects = JsonConverters.fromJson(json['Projects'],'List',context!); return this; } Map toJson() => { 'EquipmentID': EquipmentID, 'EquipmentName': EquipmentName, 'EquipmentTypeID': EquipmentTypeID, 'Manufacturer': Manufacturer, 'EquipmentType': EquipmentType, 'SerialNumber': SerialNumber, 'BarCode': BarCode, 'EquipmentLocation': EquipmentLocation, 'ImageURL': ImageURL, 'ProductDetailsURL': ProductDetailsURL, 'RecordCreatedDate': JsonConverters.toJson(RecordCreatedDate,'DateTime',context!), 'CreatedByUID': CreatedByUID, 'Active': Active, 'Notes': Notes, 'Rate': Rate, 'Projects': JsonConverters.toJson(Projects,'List',context!) }; getTypeName() => "Equipment"; TypeContext? context = _ctx; } class ProjectEquipment extends Equipment implements IConvertible { int? ProjectEquipmentID; int? ProjectID; DateTime? ProjectEndDate; double? EquipmentRate; int? JobID; double? BilledEquipmentRate; String? Status; ProjectEquipment({this.ProjectEquipmentID,this.ProjectID,this.ProjectEndDate,this.EquipmentRate,this.JobID,this.BilledEquipmentRate,this.Status}); ProjectEquipment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ProjectEquipmentID = json['ProjectEquipmentID']; ProjectID = json['ProjectID']; ProjectEndDate = JsonConverters.fromJson(json['ProjectEndDate'],'DateTime',context!); EquipmentRate = JsonConverters.toDouble(json['EquipmentRate']); JobID = json['JobID']; BilledEquipmentRate = JsonConverters.toDouble(json['BilledEquipmentRate']); Status = json['Status']; return this; } Map toJson() => super.toJson()..addAll({ 'ProjectEquipmentID': ProjectEquipmentID, 'ProjectID': ProjectID, 'ProjectEndDate': JsonConverters.toJson(ProjectEndDate,'DateTime',context!), 'EquipmentRate': EquipmentRate, 'JobID': JobID, 'BilledEquipmentRate': BilledEquipmentRate, 'Status': Status }); getTypeName() => "ProjectEquipment"; TypeContext? context = _ctx; } class ProjectEquipmentListResponse implements IConvertible { ResponseStatus? ResponseStatus; List? ProjectEquipment = []; ProjectEquipmentListResponse({this.ResponseStatus,this.ProjectEquipment}); ProjectEquipmentListResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); ProjectEquipment = JsonConverters.fromJson(json['ProjectEquipment'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'ProjectEquipment': JsonConverters.toJson(ProjectEquipment,'List',context!) }; getTypeName() => "ProjectEquipmentListResponse"; TypeContext? context = _ctx; } // @Route("/v1/Project/Equipment/{ProjectID}", "GET,POST,PUT,DELETE,OPTIONS") // @Route("/v1/Project/Equipment/{ProjectID}/{JobID}", "GET,POST,PUT,DELETE,OPTIONS") class ProjectEquipmentListRequest implements IReturn, IConvertible, IGet { int? ProjectID; int? JobID; List? ProjectEquipment = []; ProjectEquipmentListRequest({this.ProjectID,this.JobID,this.ProjectEquipment}); ProjectEquipmentListRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; JobID = json['JobID']; ProjectEquipment = JsonConverters.fromJson(json['ProjectEquipment'],'List',context!); return this; } Map toJson() => { 'ProjectID': ProjectID, 'JobID': JobID, 'ProjectEquipment': JsonConverters.toJson(ProjectEquipment,'List',context!) }; createResponse() => ProjectEquipmentListResponse(); getResponseTypeName() => "ProjectEquipmentListResponse"; getTypeName() => "ProjectEquipmentListRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'Project': TypeInfo(TypeOf.Class, create:() => Project()), 'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ProjectEquipment': TypeInfo(TypeOf.Class, create:() => ProjectEquipment()), 'ProjectEquipmentListResponse': TypeInfo(TypeOf.Class, create:() => ProjectEquipmentListResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ProjectEquipmentListRequest': TypeInfo(TypeOf.Class, create:() => ProjectEquipmentListRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });