/* Options: Date: 2026-09-23 01:40:01 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: MarkupPageRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class DocumentMarkupLayer implements IConvertible { int? DocumentMarkupID; String? AttachmentId; int? VersionNo; int? PageIndex; String? AuthorUserId; String? AuthorName; String? LayerJson; int? ShapeCount; bool? IsPublished; DateTime? CreatedAt; DateTime? UpdatedAt; bool? IsMine; DocumentMarkupLayer({this.DocumentMarkupID,this.AttachmentId,this.VersionNo,this.PageIndex,this.AuthorUserId,this.AuthorName,this.LayerJson,this.ShapeCount,this.IsPublished,this.CreatedAt,this.UpdatedAt,this.IsMine}); DocumentMarkupLayer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DocumentMarkupID = json['DocumentMarkupID']; AttachmentId = json['AttachmentId']; VersionNo = json['VersionNo']; PageIndex = json['PageIndex']; AuthorUserId = json['AuthorUserId']; AuthorName = json['AuthorName']; LayerJson = json['LayerJson']; ShapeCount = json['ShapeCount']; IsPublished = json['IsPublished']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); IsMine = json['IsMine']; return this; } Map toJson() => { 'DocumentMarkupID': DocumentMarkupID, 'AttachmentId': AttachmentId, 'VersionNo': VersionNo, 'PageIndex': PageIndex, 'AuthorUserId': AuthorUserId, 'AuthorName': AuthorName, 'LayerJson': LayerJson, 'ShapeCount': ShapeCount, 'IsPublished': IsPublished, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'IsMine': IsMine }; getTypeName() => "DocumentMarkupLayer"; TypeContext? context = _ctx; } class DocumentMarkupLink implements IConvertible { int? DocumentMarkupLinkID; String? AttachmentId; int? VersionNo; int? PageIndex; String? ShapeId; String? EntityType; int? EntityID; String? EntityNo; String? CreatedBy; DateTime? CreatedAt; DocumentMarkupLink({this.DocumentMarkupLinkID,this.AttachmentId,this.VersionNo,this.PageIndex,this.ShapeId,this.EntityType,this.EntityID,this.EntityNo,this.CreatedBy,this.CreatedAt}); DocumentMarkupLink.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DocumentMarkupLinkID = json['DocumentMarkupLinkID']; AttachmentId = json['AttachmentId']; VersionNo = json['VersionNo']; PageIndex = json['PageIndex']; ShapeId = json['ShapeId']; EntityType = json['EntityType']; EntityID = json['EntityID']; EntityNo = json['EntityNo']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); return this; } Map toJson() => { 'DocumentMarkupLinkID': DocumentMarkupLinkID, 'AttachmentId': AttachmentId, 'VersionNo': VersionNo, 'PageIndex': PageIndex, 'ShapeId': ShapeId, 'EntityType': EntityType, 'EntityID': EntityID, 'EntityNo': EntityNo, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!) }; getTypeName() => "DocumentMarkupLink"; TypeContext? context = _ctx; } class MarkupPageResponse implements IConvertible { ResponseStatus? ResponseStatus; String? AttachmentId; int? VersionNo; int? PageIndex; List? Layers = []; List? Links = []; DocumentMarkupLayer? Mine; bool? CanCreatePunch; bool? CanCreateRfi; int? ProjectID; MarkupPageResponse({this.ResponseStatus,this.AttachmentId,this.VersionNo,this.PageIndex,this.Layers,this.Links,this.Mine,this.CanCreatePunch,this.CanCreateRfi,this.ProjectID}); MarkupPageResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); AttachmentId = json['AttachmentId']; VersionNo = json['VersionNo']; PageIndex = json['PageIndex']; Layers = JsonConverters.fromJson(json['Layers'],'List',context!); Links = JsonConverters.fromJson(json['Links'],'List',context!); Mine = JsonConverters.fromJson(json['Mine'],'DocumentMarkupLayer',context!); CanCreatePunch = json['CanCreatePunch']; CanCreateRfi = json['CanCreateRfi']; ProjectID = json['ProjectID']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'AttachmentId': AttachmentId, 'VersionNo': VersionNo, 'PageIndex': PageIndex, 'Layers': JsonConverters.toJson(Layers,'List',context!), 'Links': JsonConverters.toJson(Links,'List',context!), 'Mine': JsonConverters.toJson(Mine,'DocumentMarkupLayer',context!), 'CanCreatePunch': CanCreatePunch, 'CanCreateRfi': CanCreateRfi, 'ProjectID': ProjectID }; getTypeName() => "MarkupPageResponse"; TypeContext? context = _ctx; } // @Route("/v1/markup/{AttachmentId}/{VersionNo}/{PageIndex}", "GET,PUT,OPTIONS") class MarkupPageRequest implements IReturn, IConvertible, IGet { String? AttachmentId; int? VersionNo; int? PageIndex; String? LayerJson; MarkupPageRequest({this.AttachmentId,this.VersionNo,this.PageIndex,this.LayerJson}); MarkupPageRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AttachmentId = json['AttachmentId']; VersionNo = json['VersionNo']; PageIndex = json['PageIndex']; LayerJson = json['LayerJson']; return this; } Map toJson() => { 'AttachmentId': AttachmentId, 'VersionNo': VersionNo, 'PageIndex': PageIndex, 'LayerJson': LayerJson }; createResponse() => MarkupPageResponse(); getResponseTypeName() => "MarkupPageResponse"; getTypeName() => "MarkupPageRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'DocumentMarkupLayer': TypeInfo(TypeOf.Class, create:() => DocumentMarkupLayer()), 'DocumentMarkupLink': TypeInfo(TypeOf.Class, create:() => DocumentMarkupLink()), 'MarkupPageResponse': TypeInfo(TypeOf.Class, create:() => MarkupPageResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'MarkupPageRequest': TypeInfo(TypeOf.Class, create:() => MarkupPageRequest()), });