/* Options: Date: 2025-09-14 06:55:42 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-gateway-api-supplierconnect.azurewebsites.net/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetRequestActivity.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum AttachmentType { Url, FileStream, } class EmailAttachment implements IConvertible { String? FileName; String? ContentType; String? Path; String? Url; int? Length; Uint8List? FileStream; String? StreamContent; AttachmentType? AttachmentType; bool? ProcessedAndUploadedAsBlob; EmailAttachment({this.FileName,this.ContentType,this.Path,this.Url,this.Length,this.FileStream,this.StreamContent,this.AttachmentType,this.ProcessedAndUploadedAsBlob}); EmailAttachment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FileName = json['FileName']; ContentType = json['ContentType']; Path = json['Path']; Url = json['Url']; Length = json['Length']; FileStream = JsonConverters.fromJson(json['FileStream'],'Uint8List',context!); StreamContent = json['StreamContent']; AttachmentType = JsonConverters.fromJson(json['AttachmentType'],'AttachmentType',context!); ProcessedAndUploadedAsBlob = json['ProcessedAndUploadedAsBlob']; return this; } Map toJson() => { 'FileName': FileName, 'ContentType': ContentType, 'Path': Path, 'Url': Url, 'Length': Length, 'FileStream': JsonConverters.toJson(FileStream,'Uint8List',context!), 'StreamContent': StreamContent, 'AttachmentType': JsonConverters.toJson(AttachmentType,'AttachmentType',context!), 'ProcessedAndUploadedAsBlob': ProcessedAndUploadedAsBlob }; getTypeName() => "EmailAttachment"; TypeContext? context = _ctx; } class SupplierConnectObjectReference implements IConvertible { String? RmsTableContextId; String? AlternateKey; String? DataSourceInstanceId; SupplierConnectObjectReference({this.RmsTableContextId,this.AlternateKey,this.DataSourceInstanceId}); SupplierConnectObjectReference.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RmsTableContextId = json['RmsTableContextId']; AlternateKey = json['AlternateKey']; DataSourceInstanceId = json['DataSourceInstanceId']; return this; } Map toJson() => { 'RmsTableContextId': RmsTableContextId, 'AlternateKey': AlternateKey, 'DataSourceInstanceId': DataSourceInstanceId }; getTypeName() => "SupplierConnectObjectReference"; TypeContext? context = _ctx; } class SupplierConnectContactInfo implements IConvertible { String? Id; String? Name; String? Email; String? Phone; SupplierConnectObjectReference? ContactReference; SupplierConnectContactInfo({this.Id,this.Name,this.Email,this.Phone,this.ContactReference}); SupplierConnectContactInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Email = json['Email']; Phone = json['Phone']; ContactReference = JsonConverters.fromJson(json['ContactReference'],'SupplierConnectObjectReference',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Email': Email, 'Phone': Phone, 'ContactReference': JsonConverters.toJson(ContactReference,'SupplierConnectObjectReference',context!) }; getTypeName() => "SupplierConnectContactInfo"; TypeContext? context = _ctx; } class SupplierConnectProjectInfo implements IConvertible { String? Id; String? Name; String? Reference; String? Description; String? Address; String? HouseType; String? Elevation; SupplierConnectContactInfo? Supervisor; String? CustomerName; SupplierConnectObjectReference? ProjectReference; SupplierConnectProjectInfo({this.Id,this.Name,this.Reference,this.Description,this.Address,this.HouseType,this.Elevation,this.Supervisor,this.CustomerName,this.ProjectReference}); SupplierConnectProjectInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Reference = json['Reference']; Description = json['Description']; Address = json['Address']; HouseType = json['HouseType']; Elevation = json['Elevation']; Supervisor = JsonConverters.fromJson(json['Supervisor'],'SupplierConnectContactInfo',context!); CustomerName = json['CustomerName']; ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'SupplierConnectObjectReference',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Reference': Reference, 'Description': Description, 'Address': Address, 'HouseType': HouseType, 'Elevation': Elevation, 'Supervisor': JsonConverters.toJson(Supervisor,'SupplierConnectContactInfo',context!), 'CustomerName': CustomerName, 'ProjectReference': JsonConverters.toJson(ProjectReference,'SupplierConnectObjectReference',context!) }; getTypeName() => "SupplierConnectProjectInfo"; TypeContext? context = _ctx; } class SupplierConnectPurchaseOrderInfo implements IConvertible { String? Id; String? Reference; String? Description; String? ProjectId; SupplierConnectObjectReference? PurchaseOrderReference; SupplierConnectPurchaseOrderInfo({this.Id,this.Reference,this.Description,this.ProjectId,this.PurchaseOrderReference}); SupplierConnectPurchaseOrderInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Reference = json['Reference']; Description = json['Description']; ProjectId = json['ProjectId']; PurchaseOrderReference = JsonConverters.fromJson(json['PurchaseOrderReference'],'SupplierConnectObjectReference',context!); return this; } Map toJson() => { 'Id': Id, 'Reference': Reference, 'Description': Description, 'ProjectId': ProjectId, 'PurchaseOrderReference': JsonConverters.toJson(PurchaseOrderReference,'SupplierConnectObjectReference',context!) }; getTypeName() => "SupplierConnectPurchaseOrderInfo"; TypeContext? context = _ctx; } class SupplierConnectActivityReference implements IConvertible { String? Name; String? Notes; SupplierConnectActivityReference({this.Name,this.Notes}); SupplierConnectActivityReference.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; Notes = json['Notes']; return this; } Map toJson() => { 'Name': Name, 'Notes': Notes }; getTypeName() => "SupplierConnectActivityReference"; TypeContext? context = _ctx; } class SupplierConnectScheduleParams implements IConvertible { String? Name; String? Value; SupplierConnectScheduleParams({this.Name,this.Value}); SupplierConnectScheduleParams.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; Value = json['Value']; return this; } Map toJson() => { 'Name': Name, 'Value': Value }; getTypeName() => "SupplierConnectScheduleParams"; TypeContext? context = _ctx; } class SupplierConnectSchedule implements IConvertible { String? RequestId; String? PreviousRequestId; String? LicenseeId; String? LicenseeName; DateTime? ScheduleDateTime; SupplierConnectContactInfo? Requester; SupplierConnectContactInfo? Supplier; SupplierConnectProjectInfo? Project; SupplierConnectPurchaseOrderInfo? PurchaseOrder; SupplierConnectActivityReference? Activity; List? Params; List? Attachments; SupplierConnectSchedule({this.RequestId,this.PreviousRequestId,this.LicenseeId,this.LicenseeName,this.ScheduleDateTime,this.Requester,this.Supplier,this.Project,this.PurchaseOrder,this.Activity,this.Params,this.Attachments}); SupplierConnectSchedule.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RequestId = json['RequestId']; PreviousRequestId = json['PreviousRequestId']; LicenseeId = json['LicenseeId']; LicenseeName = json['LicenseeName']; ScheduleDateTime = JsonConverters.fromJson(json['ScheduleDateTime'],'DateTime',context!); Requester = JsonConverters.fromJson(json['Requester'],'SupplierConnectContactInfo',context!); Supplier = JsonConverters.fromJson(json['Supplier'],'SupplierConnectContactInfo',context!); Project = JsonConverters.fromJson(json['Project'],'SupplierConnectProjectInfo',context!); PurchaseOrder = JsonConverters.fromJson(json['PurchaseOrder'],'SupplierConnectPurchaseOrderInfo',context!); Activity = JsonConverters.fromJson(json['Activity'],'SupplierConnectActivityReference',context!); Params = JsonConverters.fromJson(json['Params'],'List',context!); Attachments = JsonConverters.fromJson(json['Attachments'],'List',context!); return this; } Map toJson() => { 'RequestId': RequestId, 'PreviousRequestId': PreviousRequestId, 'LicenseeId': LicenseeId, 'LicenseeName': LicenseeName, 'ScheduleDateTime': JsonConverters.toJson(ScheduleDateTime,'DateTime',context!), 'Requester': JsonConverters.toJson(Requester,'SupplierConnectContactInfo',context!), 'Supplier': JsonConverters.toJson(Supplier,'SupplierConnectContactInfo',context!), 'Project': JsonConverters.toJson(Project,'SupplierConnectProjectInfo',context!), 'PurchaseOrder': JsonConverters.toJson(PurchaseOrder,'SupplierConnectPurchaseOrderInfo',context!), 'Activity': JsonConverters.toJson(Activity,'SupplierConnectActivityReference',context!), 'Params': JsonConverters.toJson(Params,'List',context!), 'Attachments': JsonConverters.toJson(Attachments,'List',context!) }; getTypeName() => "SupplierConnectSchedule"; TypeContext? context = _ctx; } class ScheduleDetails extends SupplierConnectSchedule implements IConvertible { String? ReferenceId; int? Index; String? StatusId; String? Status; String? StatusMessage; String? RequestedBy; DateTime? RequestedDate; String? CommunicationId; ScheduleDetails({this.ReferenceId,this.Index,this.StatusId,this.Status,this.StatusMessage,this.RequestedBy,this.RequestedDate,this.CommunicationId}); ScheduleDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ReferenceId = json['ReferenceId']; Index = json['Index']; StatusId = json['StatusId']; Status = json['Status']; StatusMessage = json['StatusMessage']; RequestedBy = json['RequestedBy']; RequestedDate = JsonConverters.fromJson(json['RequestedDate'],'DateTime',context!); CommunicationId = json['CommunicationId']; return this; } Map toJson() => super.toJson()..addAll({ 'ReferenceId': ReferenceId, 'Index': Index, 'StatusId': StatusId, 'Status': Status, 'StatusMessage': StatusMessage, 'RequestedBy': RequestedBy, 'RequestedDate': JsonConverters.toJson(RequestedDate,'DateTime',context!), 'CommunicationId': CommunicationId }); getTypeName() => "ScheduleDetails"; TypeContext? context = _ctx; } // @ApiResponse(Description="Returns the list of the schedule requests for the given list of Ids") class GetSchedulesResponse implements IConvertible { bool? Success; String? Message; List? ScheduleRequests; ResponseStatus? ResponseStatus; String? LastRowVersion; GetSchedulesResponse({this.Success,this.Message,this.ScheduleRequests,this.ResponseStatus,this.LastRowVersion}); GetSchedulesResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Success = json['Success']; Message = json['Message']; ScheduleRequests = JsonConverters.fromJson(json['ScheduleRequests'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); LastRowVersion = json['LastRowVersion']; return this; } Map toJson() => { 'Success': Success, 'Message': Message, 'ScheduleRequests': JsonConverters.toJson(ScheduleRequests,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'LastRowVersion': LastRowVersion }; getTypeName() => "GetSchedulesResponse"; TypeContext? context = _ctx; } /** * Retrieves a list of activities of SupplierConnect schedule(s) for a given time window. This will return SupplierConnect schedule request(s), and the associated other details such as statuses */ // @Route("/activity", "GET") // @Route("/activity/{lastrowversion}", "GET") // @Api(Description="Retrieves a list of activities of SupplierConnect schedule(s) for a given time window. This will return SupplierConnect schedule request(s), and the associated other details such as statuses") class GetRequestActivity implements IReturn, IConvertible, IGet { /** * Row version of the last/latest record processed/returned in the previous request */ // @DataMember(Name="LastRowVersion") // @ApiMember(Description="Row version of the last/latest record processed/returned in the previous request", IsRequired=true, Name="LastRowVersion") String? LastRowVersion; GetRequestActivity({this.LastRowVersion}); GetRequestActivity.fromJson(Map json) { fromMap(json); } fromMap(Map json) { LastRowVersion = json['LastRowVersion']; return this; } Map toJson() => { 'LastRowVersion': LastRowVersion }; createResponse() => GetSchedulesResponse(); getResponseTypeName() => "GetSchedulesResponse"; getTypeName() => "GetRequestActivity"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'production_eros_gateway_api_supplierconnect.azurewebsites.net', types: { 'AttachmentType': TypeInfo(TypeOf.Enum, enumValues:AttachmentType.values), 'EmailAttachment': TypeInfo(TypeOf.Class, create:() => EmailAttachment()), 'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)), 'SupplierConnectObjectReference': TypeInfo(TypeOf.Class, create:() => SupplierConnectObjectReference()), 'SupplierConnectContactInfo': TypeInfo(TypeOf.Class, create:() => SupplierConnectContactInfo()), 'SupplierConnectProjectInfo': TypeInfo(TypeOf.Class, create:() => SupplierConnectProjectInfo()), 'SupplierConnectPurchaseOrderInfo': TypeInfo(TypeOf.Class, create:() => SupplierConnectPurchaseOrderInfo()), 'SupplierConnectActivityReference': TypeInfo(TypeOf.Class, create:() => SupplierConnectActivityReference()), 'SupplierConnectScheduleParams': TypeInfo(TypeOf.Class, create:() => SupplierConnectScheduleParams()), 'SupplierConnectSchedule': TypeInfo(TypeOf.Class, create:() => SupplierConnectSchedule()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ScheduleDetails': TypeInfo(TypeOf.Class, create:() => ScheduleDetails()), 'GetSchedulesResponse': TypeInfo(TypeOf.Class, create:() => GetSchedulesResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetRequestActivity': TypeInfo(TypeOf.Class, create:() => GetRequestActivity()), });