/* Options: Date: 2025-12-06 07:52:38 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: ProjectSearchRequest.* //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 ProjectResponse implements IConvertible { ResponseStatus? ResponseStatus; List? Project = []; ProjectResponse({this.ResponseStatus,this.Project}); ProjectResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Project = JsonConverters.fromJson(json['Project'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Project': JsonConverters.toJson(Project,'List',context!) }; getTypeName() => "ProjectResponse"; TypeContext? context = _ctx; } // @Route("/v1/ProjectSearch", "POST,OPTIONS") class ProjectSearchRequest implements IReturn, IConvertible, IPost { int? filterStatus; int? filterManager; String? filterClientName; DateTime? filterStartBefore; DateTime? filterStartAfter; DateTime? filterEndBefore; DateTime? filterEndAfter; ProjectSearchRequest({this.filterStatus,this.filterManager,this.filterClientName,this.filterStartBefore,this.filterStartAfter,this.filterEndBefore,this.filterEndAfter}); ProjectSearchRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { filterStatus = json['filterStatus']; filterManager = json['filterManager']; filterClientName = json['filterClientName']; filterStartBefore = JsonConverters.fromJson(json['filterStartBefore'],'DateTime',context!); filterStartAfter = JsonConverters.fromJson(json['filterStartAfter'],'DateTime',context!); filterEndBefore = JsonConverters.fromJson(json['filterEndBefore'],'DateTime',context!); filterEndAfter = JsonConverters.fromJson(json['filterEndAfter'],'DateTime',context!); return this; } Map toJson() => { 'filterStatus': filterStatus, 'filterManager': filterManager, 'filterClientName': filterClientName, 'filterStartBefore': JsonConverters.toJson(filterStartBefore,'DateTime',context!), 'filterStartAfter': JsonConverters.toJson(filterStartAfter,'DateTime',context!), 'filterEndBefore': JsonConverters.toJson(filterEndBefore,'DateTime',context!), 'filterEndAfter': JsonConverters.toJson(filterEndAfter,'DateTime',context!) }; createResponse() => ProjectResponse(); getResponseTypeName() => "ProjectResponse"; getTypeName() => "ProjectSearchRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'Project': TypeInfo(TypeOf.Class, create:() => Project()), 'ProjectResponse': TypeInfo(TypeOf.Class, create:() => ProjectResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ProjectSearchRequest': TypeInfo(TypeOf.Class, create:() => ProjectSearchRequest()), });