/* Options: Date: 2025-12-06 06:07:45 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: CampaignRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; // @Flags() class DeliveryChannel { static const DeliveryChannel None = const DeliveryChannel._(0); static const DeliveryChannel Email = const DeliveryChannel._(1); static const DeliveryChannel Sms = const DeliveryChannel._(2); final int _value; const DeliveryChannel._(this._value); int get value => _value; static List get values => const [None,Email,Sms]; } class Campaign implements IConvertible { int? CampaignId; int? CampaignTypeId; String? CampaignName; int? AgentID; String? Subject; String? Template; DateTime? DateCreated; DateTime? DateDeleted; String? Frequency; DateTime? StartDate; Duration? TimeOfDay; DateTime? LastRunAtUtc; DateTime? NextRunAtUtc; String? TimeZoneId; DayOfWeek? DayOfWeek; int? DayOfMonth; bool? IsActive; DateTime? CreatedUtc; DateTime? UpdatedUtc; DeliveryChannel? Channels; Campaign({this.CampaignId,this.CampaignTypeId,this.CampaignName,this.AgentID,this.Subject,this.Template,this.DateCreated,this.DateDeleted,this.Frequency,this.StartDate,this.TimeOfDay,this.LastRunAtUtc,this.NextRunAtUtc,this.TimeZoneId,this.DayOfWeek,this.DayOfMonth,this.IsActive,this.CreatedUtc,this.UpdatedUtc,this.Channels}); Campaign.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CampaignId = json['CampaignId']; CampaignTypeId = json['CampaignTypeId']; CampaignName = json['CampaignName']; AgentID = json['AgentID']; Subject = json['Subject']; Template = json['Template']; DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!); DateDeleted = JsonConverters.fromJson(json['DateDeleted'],'DateTime',context!); Frequency = json['Frequency']; StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!); TimeOfDay = JsonConverters.fromJson(json['TimeOfDay'],'Duration',context!); LastRunAtUtc = JsonConverters.fromJson(json['LastRunAtUtc'],'DateTime',context!); NextRunAtUtc = JsonConverters.fromJson(json['NextRunAtUtc'],'DateTime',context!); TimeZoneId = json['TimeZoneId']; DayOfWeek = JsonConverters.fromJson(json['DayOfWeek'],'DayOfWeek',context!); DayOfMonth = json['DayOfMonth']; IsActive = json['IsActive']; CreatedUtc = JsonConverters.fromJson(json['CreatedUtc'],'DateTime',context!); UpdatedUtc = JsonConverters.fromJson(json['UpdatedUtc'],'DateTime',context!); Channels = JsonConverters.fromJson(json['Channels'],'DeliveryChannel',context!); return this; } Map toJson() => { 'CampaignId': CampaignId, 'CampaignTypeId': CampaignTypeId, 'CampaignName': CampaignName, 'AgentID': AgentID, 'Subject': Subject, 'Template': Template, 'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!), 'DateDeleted': JsonConverters.toJson(DateDeleted,'DateTime',context!), 'Frequency': Frequency, 'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!), 'TimeOfDay': JsonConverters.toJson(TimeOfDay,'Duration',context!), 'LastRunAtUtc': JsonConverters.toJson(LastRunAtUtc,'DateTime',context!), 'NextRunAtUtc': JsonConverters.toJson(NextRunAtUtc,'DateTime',context!), 'TimeZoneId': TimeZoneId, 'DayOfWeek': JsonConverters.toJson(DayOfWeek,'DayOfWeek',context!), 'DayOfMonth': DayOfMonth, 'IsActive': IsActive, 'CreatedUtc': JsonConverters.toJson(CreatedUtc,'DateTime',context!), 'UpdatedUtc': JsonConverters.toJson(UpdatedUtc,'DateTime',context!), 'Channels': JsonConverters.toJson(Channels,'DeliveryChannel',context!) }; getTypeName() => "Campaign"; TypeContext? context = _ctx; } class CampaignExtended extends Campaign implements IConvertible { String? CampaignType; String? AgentName; CampaignExtended({this.CampaignType,this.AgentName}); CampaignExtended.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CampaignType = json['CampaignType']; AgentName = json['AgentName']; return this; } Map toJson() => super.toJson()..addAll({ 'CampaignType': CampaignType, 'AgentName': AgentName }); getTypeName() => "CampaignExtended"; TypeContext? context = _ctx; } class CampaignResponse implements IConvertible { ResponseStatus? ResponseStatus; List? Campaign = []; CampaignResponse({this.ResponseStatus,this.Campaign}); CampaignResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Campaign = JsonConverters.fromJson(json['Campaign'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Campaign': JsonConverters.toJson(Campaign,'List',context!) }; getTypeName() => "CampaignResponse"; TypeContext? context = _ctx; } // @Route("/v1/Campaign", "GET,POST,PUT,DELETE,OPTIONS") // @Route("/v1/Campaign/{CampaignId}", "GET,POST,PUT,DELETE,OPTIONS") class CampaignRequest implements IReturn, IConvertible, IPost { int? CampaignId; List? Campaign = []; CampaignRequest({this.CampaignId,this.Campaign}); CampaignRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CampaignId = json['CampaignId']; Campaign = JsonConverters.fromJson(json['Campaign'],'List',context!); return this; } Map toJson() => { 'CampaignId': CampaignId, 'Campaign': JsonConverters.toJson(Campaign,'List',context!) }; createResponse() => CampaignResponse(); getResponseTypeName() => "CampaignResponse"; getTypeName() => "CampaignRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'DeliveryChannel': TypeInfo(TypeOf.Enum, enumValues:DeliveryChannel.values), 'Campaign': TypeInfo(TypeOf.Class, create:() => Campaign()), 'DayOfWeek': TypeInfo(TypeOf.Class, create:() => DayOfWeek()), 'CampaignExtended': TypeInfo(TypeOf.Class, create:() => CampaignExtended()), 'CampaignResponse': TypeInfo(TypeOf.Class, create:() => CampaignResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CampaignRequest': TypeInfo(TypeOf.Class, create:() => CampaignRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });