/* Options: Date: 2026-10-14 07:30:56 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: MyWorkPhotosRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class WorkPhotoRow implements IConvertible { int? WorkPhotoID; int? ContactId; String? TakerName; String? RoleKey; String? TargetType; String? TargetId; String? TargetRef; String? TargetTitle; String? Kind; String? Caption; DateTime? CapturedAtUtc; double? Lat; double? Lng; int? AccuracyM; int? DistanceM; bool? InApp; String? Source; bool? IsLate; bool? CountsAsProof; int? MarkCount; bool? IssueOpen; String? IssueClosedBy; bool? FromGeneral; String? Url; String? MarkedUrl; String? TriageStatus; String? RouteTo; String? SuggestType; String? SuggestId; String? SuggestTitle; String? SuggestWhy; String? FiledType; String? FiledId; String? FiledTitle; String? ReplyText; String? TriagedBy; DateTime? TriagedAtUtc; DateTime? ExpiresAtUtc; WorkPhotoRow({this.WorkPhotoID,this.ContactId,this.TakerName,this.RoleKey,this.TargetType,this.TargetId,this.TargetRef,this.TargetTitle,this.Kind,this.Caption,this.CapturedAtUtc,this.Lat,this.Lng,this.AccuracyM,this.DistanceM,this.InApp,this.Source,this.IsLate,this.CountsAsProof,this.MarkCount,this.IssueOpen,this.IssueClosedBy,this.FromGeneral,this.Url,this.MarkedUrl,this.TriageStatus,this.RouteTo,this.SuggestType,this.SuggestId,this.SuggestTitle,this.SuggestWhy,this.FiledType,this.FiledId,this.FiledTitle,this.ReplyText,this.TriagedBy,this.TriagedAtUtc,this.ExpiresAtUtc}); WorkPhotoRow.fromJson(Map json) { fromMap(json); } fromMap(Map json) { WorkPhotoID = json['WorkPhotoID']; ContactId = json['ContactId']; TakerName = json['TakerName']; RoleKey = json['RoleKey']; TargetType = json['TargetType']; TargetId = json['TargetId']; TargetRef = json['TargetRef']; TargetTitle = json['TargetTitle']; Kind = json['Kind']; Caption = json['Caption']; CapturedAtUtc = JsonConverters.fromJson(json['CapturedAtUtc'],'DateTime',context!); Lat = JsonConverters.toDouble(json['Lat']); Lng = JsonConverters.toDouble(json['Lng']); AccuracyM = json['AccuracyM']; DistanceM = json['DistanceM']; InApp = json['InApp']; Source = json['Source']; IsLate = json['IsLate']; CountsAsProof = json['CountsAsProof']; MarkCount = json['MarkCount']; IssueOpen = json['IssueOpen']; IssueClosedBy = json['IssueClosedBy']; FromGeneral = json['FromGeneral']; Url = json['Url']; MarkedUrl = json['MarkedUrl']; TriageStatus = json['TriageStatus']; RouteTo = json['RouteTo']; SuggestType = json['SuggestType']; SuggestId = json['SuggestId']; SuggestTitle = json['SuggestTitle']; SuggestWhy = json['SuggestWhy']; FiledType = json['FiledType']; FiledId = json['FiledId']; FiledTitle = json['FiledTitle']; ReplyText = json['ReplyText']; TriagedBy = json['TriagedBy']; TriagedAtUtc = JsonConverters.fromJson(json['TriagedAtUtc'],'DateTime',context!); ExpiresAtUtc = JsonConverters.fromJson(json['ExpiresAtUtc'],'DateTime',context!); return this; } Map toJson() => { 'WorkPhotoID': WorkPhotoID, 'ContactId': ContactId, 'TakerName': TakerName, 'RoleKey': RoleKey, 'TargetType': TargetType, 'TargetId': TargetId, 'TargetRef': TargetRef, 'TargetTitle': TargetTitle, 'Kind': Kind, 'Caption': Caption, 'CapturedAtUtc': JsonConverters.toJson(CapturedAtUtc,'DateTime',context!), 'Lat': Lat, 'Lng': Lng, 'AccuracyM': AccuracyM, 'DistanceM': DistanceM, 'InApp': InApp, 'Source': Source, 'IsLate': IsLate, 'CountsAsProof': CountsAsProof, 'MarkCount': MarkCount, 'IssueOpen': IssueOpen, 'IssueClosedBy': IssueClosedBy, 'FromGeneral': FromGeneral, 'Url': Url, 'MarkedUrl': MarkedUrl, 'TriageStatus': TriageStatus, 'RouteTo': RouteTo, 'SuggestType': SuggestType, 'SuggestId': SuggestId, 'SuggestTitle': SuggestTitle, 'SuggestWhy': SuggestWhy, 'FiledType': FiledType, 'FiledId': FiledId, 'FiledTitle': FiledTitle, 'ReplyText': ReplyText, 'TriagedBy': TriagedBy, 'TriagedAtUtc': JsonConverters.toJson(TriagedAtUtc,'DateTime',context!), 'ExpiresAtUtc': JsonConverters.toJson(ExpiresAtUtc,'DateTime',context!) }; getTypeName() => "WorkPhotoRow"; TypeContext? context = _ctx; } class WorkPhotoListResponse implements IConvertible { List? Photos = []; ResponseStatus? ResponseStatus; WorkPhotoListResponse({this.Photos,this.ResponseStatus}); WorkPhotoListResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Photos = JsonConverters.fromJson(json['Photos'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Photos': JsonConverters.toJson(Photos,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "WorkPhotoListResponse"; TypeContext? context = _ctx; } // @Route("/v1/worker/photos/mine", "GET,OPTIONS") class MyWorkPhotosRequest implements IReturn, IConvertible, IGet { int? Take; MyWorkPhotosRequest({this.Take}); MyWorkPhotosRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Take = json['Take']; return this; } Map toJson() => { 'Take': Take }; createResponse() => WorkPhotoListResponse(); getResponseTypeName() => "WorkPhotoListResponse"; getTypeName() => "MyWorkPhotosRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'WorkPhotoRow': TypeInfo(TypeOf.Class, create:() => WorkPhotoRow()), 'WorkPhotoListResponse': TypeInfo(TypeOf.Class, create:() => WorkPhotoListResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'MyWorkPhotosRequest': TypeInfo(TypeOf.Class, create:() => MyWorkPhotosRequest()), });