/* Options: Date: 2026-09-22 23:39:46 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: PlanSetDetailRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class SheetPin implements IConvertible { int? SheetPinID; int? SheetID; String? EntityType; int? EntityID; String? EntityUID; double? X; double? Y; String? Label; String? CreatedBy; DateTime? CreatedAt; String? EntityNo; String? EntityTitle; String? EntityStatus; String? InspectionUID; String? SheetNumber; String? SheetTitle; int? PlanSetID; String? PlanSetUID; String? PlanSetName; SheetPin({this.SheetPinID,this.SheetID,this.EntityType,this.EntityID,this.EntityUID,this.X,this.Y,this.Label,this.CreatedBy,this.CreatedAt,this.EntityNo,this.EntityTitle,this.EntityStatus,this.InspectionUID,this.SheetNumber,this.SheetTitle,this.PlanSetID,this.PlanSetUID,this.PlanSetName}); SheetPin.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SheetPinID = json['SheetPinID']; SheetID = json['SheetID']; EntityType = json['EntityType']; EntityID = json['EntityID']; EntityUID = json['EntityUID']; X = JsonConverters.toDouble(json['X']); Y = JsonConverters.toDouble(json['Y']); Label = json['Label']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); EntityNo = json['EntityNo']; EntityTitle = json['EntityTitle']; EntityStatus = json['EntityStatus']; InspectionUID = json['InspectionUID']; SheetNumber = json['SheetNumber']; SheetTitle = json['SheetTitle']; PlanSetID = json['PlanSetID']; PlanSetUID = json['PlanSetUID']; PlanSetName = json['PlanSetName']; return this; } Map toJson() => { 'SheetPinID': SheetPinID, 'SheetID': SheetID, 'EntityType': EntityType, 'EntityID': EntityID, 'EntityUID': EntityUID, 'X': X, 'Y': Y, 'Label': Label, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'EntityNo': EntityNo, 'EntityTitle': EntityTitle, 'EntityStatus': EntityStatus, 'InspectionUID': InspectionUID, 'SheetNumber': SheetNumber, 'SheetTitle': SheetTitle, 'PlanSetID': PlanSetID, 'PlanSetUID': PlanSetUID, 'PlanSetName': PlanSetName }; getTypeName() => "SheetPin"; TypeContext? context = _ctx; } class Sheet implements IConvertible { int? SheetID; int? PlanSetID; String? PlanSetUID; String? PlanSetName; int? ProjectID; int? PageIndex; String? AttachmentId; int? VersionNo; String? SheetNumber; String? SheetKey; String? Title; String? Discipline; String? Revision; DateTime? RevisionDate; double? WidthPt; double? HeightPt; String? ThumbKey; String? ThumbUrl; String? ThumbHash; String? ExtractSource; double? Confidence; String? ChangeKind; int? SupersedesSheetID; bool? IsCurrent; int? PinCount; String? UpdatedBy; DateTime? UpdatedAt; List? Pins = []; Sheet({this.SheetID,this.PlanSetID,this.PlanSetUID,this.PlanSetName,this.ProjectID,this.PageIndex,this.AttachmentId,this.VersionNo,this.SheetNumber,this.SheetKey,this.Title,this.Discipline,this.Revision,this.RevisionDate,this.WidthPt,this.HeightPt,this.ThumbKey,this.ThumbUrl,this.ThumbHash,this.ExtractSource,this.Confidence,this.ChangeKind,this.SupersedesSheetID,this.IsCurrent,this.PinCount,this.UpdatedBy,this.UpdatedAt,this.Pins}); Sheet.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SheetID = json['SheetID']; PlanSetID = json['PlanSetID']; PlanSetUID = json['PlanSetUID']; PlanSetName = json['PlanSetName']; ProjectID = json['ProjectID']; PageIndex = json['PageIndex']; AttachmentId = json['AttachmentId']; VersionNo = json['VersionNo']; SheetNumber = json['SheetNumber']; SheetKey = json['SheetKey']; Title = json['Title']; Discipline = json['Discipline']; Revision = json['Revision']; RevisionDate = JsonConverters.fromJson(json['RevisionDate'],'DateTime',context!); WidthPt = JsonConverters.toDouble(json['WidthPt']); HeightPt = JsonConverters.toDouble(json['HeightPt']); ThumbKey = json['ThumbKey']; ThumbUrl = json['ThumbUrl']; ThumbHash = json['ThumbHash']; ExtractSource = json['ExtractSource']; Confidence = JsonConverters.toDouble(json['Confidence']); ChangeKind = json['ChangeKind']; SupersedesSheetID = json['SupersedesSheetID']; IsCurrent = json['IsCurrent']; PinCount = json['PinCount']; UpdatedBy = json['UpdatedBy']; UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); Pins = JsonConverters.fromJson(json['Pins'],'List',context!); return this; } Map toJson() => { 'SheetID': SheetID, 'PlanSetID': PlanSetID, 'PlanSetUID': PlanSetUID, 'PlanSetName': PlanSetName, 'ProjectID': ProjectID, 'PageIndex': PageIndex, 'AttachmentId': AttachmentId, 'VersionNo': VersionNo, 'SheetNumber': SheetNumber, 'SheetKey': SheetKey, 'Title': Title, 'Discipline': Discipline, 'Revision': Revision, 'RevisionDate': JsonConverters.toJson(RevisionDate,'DateTime',context!), 'WidthPt': WidthPt, 'HeightPt': HeightPt, 'ThumbKey': ThumbKey, 'ThumbUrl': ThumbUrl, 'ThumbHash': ThumbHash, 'ExtractSource': ExtractSource, 'Confidence': Confidence, 'ChangeKind': ChangeKind, 'SupersedesSheetID': SupersedesSheetID, 'IsCurrent': IsCurrent, 'PinCount': PinCount, 'UpdatedBy': UpdatedBy, 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'Pins': JsonConverters.toJson(Pins,'List',context!) }; getTypeName() => "Sheet"; TypeContext? context = _ctx; } class PlanSet implements IConvertible { int? PlanSetID; String? PlanSetUID; int? ProjectID; String? Name; String? Source; String? SourceLabel; DateTime? IssuedDate; String? AttachmentId; String? AttachmentName; double? FileSizeInKB; int? VersionNo; String? Status; int? Progress; int? PageCount; int? SheetCount; String? ExtractMode; String? ErrorText; int? SupersedesPlanSetID; String? SupersedesName; bool? IsCurrent; String? CreatedBy; DateTime? CreatedAt; DateTime? ProcessedAt; int? AgeSeconds; List? Sheets = []; String? Headline; PlanSet({this.PlanSetID,this.PlanSetUID,this.ProjectID,this.Name,this.Source,this.SourceLabel,this.IssuedDate,this.AttachmentId,this.AttachmentName,this.FileSizeInKB,this.VersionNo,this.Status,this.Progress,this.PageCount,this.SheetCount,this.ExtractMode,this.ErrorText,this.SupersedesPlanSetID,this.SupersedesName,this.IsCurrent,this.CreatedBy,this.CreatedAt,this.ProcessedAt,this.AgeSeconds,this.Sheets,this.Headline}); PlanSet.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PlanSetID = json['PlanSetID']; PlanSetUID = json['PlanSetUID']; ProjectID = json['ProjectID']; Name = json['Name']; Source = json['Source']; SourceLabel = json['SourceLabel']; IssuedDate = JsonConverters.fromJson(json['IssuedDate'],'DateTime',context!); AttachmentId = json['AttachmentId']; AttachmentName = json['AttachmentName']; FileSizeInKB = JsonConverters.toDouble(json['FileSizeInKB']); VersionNo = json['VersionNo']; Status = json['Status']; Progress = json['Progress']; PageCount = json['PageCount']; SheetCount = json['SheetCount']; ExtractMode = json['ExtractMode']; ErrorText = json['ErrorText']; SupersedesPlanSetID = json['SupersedesPlanSetID']; SupersedesName = json['SupersedesName']; IsCurrent = json['IsCurrent']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); ProcessedAt = JsonConverters.fromJson(json['ProcessedAt'],'DateTime',context!); AgeSeconds = json['AgeSeconds']; Sheets = JsonConverters.fromJson(json['Sheets'],'List',context!); Headline = json['Headline']; return this; } Map toJson() => { 'PlanSetID': PlanSetID, 'PlanSetUID': PlanSetUID, 'ProjectID': ProjectID, 'Name': Name, 'Source': Source, 'SourceLabel': SourceLabel, 'IssuedDate': JsonConverters.toJson(IssuedDate,'DateTime',context!), 'AttachmentId': AttachmentId, 'AttachmentName': AttachmentName, 'FileSizeInKB': FileSizeInKB, 'VersionNo': VersionNo, 'Status': Status, 'Progress': Progress, 'PageCount': PageCount, 'SheetCount': SheetCount, 'ExtractMode': ExtractMode, 'ErrorText': ErrorText, 'SupersedesPlanSetID': SupersedesPlanSetID, 'SupersedesName': SupersedesName, 'IsCurrent': IsCurrent, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'ProcessedAt': JsonConverters.toJson(ProcessedAt,'DateTime',context!), 'AgeSeconds': AgeSeconds, 'Sheets': JsonConverters.toJson(Sheets,'List',context!), 'Headline': Headline }; getTypeName() => "PlanSet"; TypeContext? context = _ctx; } class PlanSetResponse implements IConvertible { ResponseStatus? ResponseStatus; PlanSet? PlanSet; List? RemovedSheets = []; PlanSetResponse({this.ResponseStatus,this.PlanSet,this.RemovedSheets}); PlanSetResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); PlanSet = JsonConverters.fromJson(json['PlanSet'],'PlanSet',context!); RemovedSheets = JsonConverters.fromJson(json['RemovedSheets'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'PlanSet': JsonConverters.toJson(PlanSet,'PlanSet',context!), 'RemovedSheets': JsonConverters.toJson(RemovedSheets,'List',context!) }; getTypeName() => "PlanSetResponse"; TypeContext? context = _ctx; } // @Route("/v1/plansets/{PlanSetUID}", "GET,OPTIONS") class PlanSetDetailRequest implements IReturn, IConvertible, IGet { String? PlanSetUID; PlanSetDetailRequest({this.PlanSetUID}); PlanSetDetailRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PlanSetUID = json['PlanSetUID']; return this; } Map toJson() => { 'PlanSetUID': PlanSetUID }; createResponse() => PlanSetResponse(); getResponseTypeName() => "PlanSetResponse"; getTypeName() => "PlanSetDetailRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'SheetPin': TypeInfo(TypeOf.Class, create:() => SheetPin()), 'Sheet': TypeInfo(TypeOf.Class, create:() => Sheet()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PlanSet': TypeInfo(TypeOf.Class, create:() => PlanSet()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PlanSetResponse': TypeInfo(TypeOf.Class, create:() => PlanSetResponse()), 'PlanSetDetailRequest': TypeInfo(TypeOf.Class, create:() => PlanSetDetailRequest()), });