/* Options: Date: 2026-09-23 00:21:32 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: BluebeamCommitRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class BluebeamRow implements IConvertible { int? RowNo; String? Subject; String? PageLabel; int? PageIndex; String? Author; String? Date; String? Status; String? Color; String? Comments; String? Label; String? Layer; String? Space; double? Length; double? Area; double? Count; double? Volume; String? Measurement; double? X; double? Y; double? Width; double? Height; Map? Extras = {}; BluebeamRow({this.RowNo,this.Subject,this.PageLabel,this.PageIndex,this.Author,this.Date,this.Status,this.Color,this.Comments,this.Label,this.Layer,this.Space,this.Length,this.Area,this.Count,this.Volume,this.Measurement,this.X,this.Y,this.Width,this.Height,this.Extras}); BluebeamRow.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RowNo = json['RowNo']; Subject = json['Subject']; PageLabel = json['PageLabel']; PageIndex = json['PageIndex']; Author = json['Author']; Date = json['Date']; Status = json['Status']; Color = json['Color']; Comments = json['Comments']; Label = json['Label']; Layer = json['Layer']; Space = json['Space']; Length = JsonConverters.toDouble(json['Length']); Area = JsonConverters.toDouble(json['Area']); Count = JsonConverters.toDouble(json['Count']); Volume = JsonConverters.toDouble(json['Volume']); Measurement = json['Measurement']; X = JsonConverters.toDouble(json['X']); Y = JsonConverters.toDouble(json['Y']); Width = JsonConverters.toDouble(json['Width']); Height = JsonConverters.toDouble(json['Height']); Extras = JsonConverters.toStringMap(json['Extras']); return this; } Map toJson() => { 'RowNo': RowNo, 'Subject': Subject, 'PageLabel': PageLabel, 'PageIndex': PageIndex, 'Author': Author, 'Date': Date, 'Status': Status, 'Color': Color, 'Comments': Comments, 'Label': Label, 'Layer': Layer, 'Space': Space, 'Length': Length, 'Area': Area, 'Count': Count, 'Volume': Volume, 'Measurement': Measurement, 'X': X, 'Y': Y, 'Width': Width, 'Height': Height, 'Extras': Extras }; getTypeName() => "BluebeamRow"; TypeContext? context = _ctx; } class BluebeamMappedRow implements IConvertible { int? RowNo; String? Target; String? Title; String? Description; String? Area; String? Trade; String? AssignedSub; String? Priority; double? Quantity; String? QuantityKind; String? Unit; int? TaskSeq; String? Reason; BluebeamRow? Source; BluebeamMappedRow({this.RowNo,this.Target,this.Title,this.Description,this.Area,this.Trade,this.AssignedSub,this.Priority,this.Quantity,this.QuantityKind,this.Unit,this.TaskSeq,this.Reason,this.Source}); BluebeamMappedRow.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RowNo = json['RowNo']; Target = json['Target']; Title = json['Title']; Description = json['Description']; Area = json['Area']; Trade = json['Trade']; AssignedSub = json['AssignedSub']; Priority = json['Priority']; Quantity = JsonConverters.toDouble(json['Quantity']); QuantityKind = json['QuantityKind']; Unit = json['Unit']; TaskSeq = json['TaskSeq']; Reason = json['Reason']; Source = JsonConverters.fromJson(json['Source'],'BluebeamRow',context!); return this; } Map toJson() => { 'RowNo': RowNo, 'Target': Target, 'Title': Title, 'Description': Description, 'Area': Area, 'Trade': Trade, 'AssignedSub': AssignedSub, 'Priority': Priority, 'Quantity': Quantity, 'QuantityKind': QuantityKind, 'Unit': Unit, 'TaskSeq': TaskSeq, 'Reason': Reason, 'Source': JsonConverters.toJson(Source,'BluebeamRow',context!) }; getTypeName() => "BluebeamMappedRow"; TypeContext? context = _ctx; } class BluebeamCommitResult implements IConvertible { int? PunchCreated; int? RfisCreated; int? Skipped; List? Created = []; List? Quantities = []; List? Errors = []; BluebeamCommitResult({this.PunchCreated,this.RfisCreated,this.Skipped,this.Created,this.Quantities,this.Errors}); BluebeamCommitResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PunchCreated = json['PunchCreated']; RfisCreated = json['RfisCreated']; Skipped = json['Skipped']; Created = JsonConverters.fromJson(json['Created'],'List',context!); Quantities = JsonConverters.fromJson(json['Quantities'],'List',context!); Errors = JsonConverters.fromJson(json['Errors'],'List',context!); return this; } Map toJson() => { 'PunchCreated': PunchCreated, 'RfisCreated': RfisCreated, 'Skipped': Skipped, 'Created': JsonConverters.toJson(Created,'List',context!), 'Quantities': JsonConverters.toJson(Quantities,'List',context!), 'Errors': JsonConverters.toJson(Errors,'List',context!) }; getTypeName() => "BluebeamCommitResult"; TypeContext? context = _ctx; } class BluebeamCommitResponse implements IConvertible { ResponseStatus? ResponseStatus; BluebeamCommitResult? Result; String? QuantitiesCsv; int? QuantitiesWritten; BluebeamCommitResponse({this.ResponseStatus,this.Result,this.QuantitiesCsv,this.QuantitiesWritten}); BluebeamCommitResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Result = JsonConverters.fromJson(json['Result'],'BluebeamCommitResult',context!); QuantitiesCsv = json['QuantitiesCsv']; QuantitiesWritten = json['QuantitiesWritten']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Result': JsonConverters.toJson(Result,'BluebeamCommitResult',context!), 'QuantitiesCsv': QuantitiesCsv, 'QuantitiesWritten': QuantitiesWritten }; getTypeName() => "BluebeamCommitResponse"; TypeContext? context = _ctx; } // @Route("/v1/projects/{ProjectID}/bluebeam/import/commit", "POST,OPTIONS") class BluebeamCommitRequest implements IReturn, IConvertible, IPost { int? ProjectID; String? FileName; List? Rows = []; String? RfpDocumentUID; BluebeamCommitRequest({this.ProjectID,this.FileName,this.Rows,this.RfpDocumentUID}); BluebeamCommitRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; FileName = json['FileName']; Rows = JsonConverters.fromJson(json['Rows'],'List',context!); RfpDocumentUID = json['RfpDocumentUID']; return this; } Map toJson() => { 'ProjectID': ProjectID, 'FileName': FileName, 'Rows': JsonConverters.toJson(Rows,'List',context!), 'RfpDocumentUID': RfpDocumentUID }; createResponse() => BluebeamCommitResponse(); getResponseTypeName() => "BluebeamCommitResponse"; getTypeName() => "BluebeamCommitRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'BluebeamRow': TypeInfo(TypeOf.Class, create:() => BluebeamRow()), 'BluebeamMappedRow': TypeInfo(TypeOf.Class, create:() => BluebeamMappedRow()), 'BluebeamCommitResult': TypeInfo(TypeOf.Class, create:() => BluebeamCommitResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'BluebeamCommitResponse': TypeInfo(TypeOf.Class, create:() => BluebeamCommitResponse()), 'BluebeamCommitRequest': TypeInfo(TypeOf.Class, create:() => BluebeamCommitRequest()), });