/* Options: Date: 2026-03-07 20:30:57 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAdvancedWorkflowInfoRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class Provider implements IConvertible { int? id; String? name; String? taxCode; String? address; String? email; String? phone; String? additionalInfo; int? providerType; DateTime? createdAt; int? createdBy; Provider({this.id,this.name,this.taxCode,this.address,this.email,this.phone,this.additionalInfo,this.providerType,this.createdAt,this.createdBy}); Provider.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; taxCode = json['taxCode']; address = json['address']; email = json['email']; phone = json['phone']; additionalInfo = json['additionalInfo']; providerType = json['providerType']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); createdBy = json['createdBy']; return this; } Map toJson() => { 'id': id, 'name': name, 'taxCode': taxCode, 'address': address, 'email': email, 'phone': phone, 'additionalInfo': additionalInfo, 'providerType': providerType, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'createdBy': createdBy }; getTypeName() => "Provider"; TypeContext? context = _ctx; } class Contract implements IConvertible { int? id; // @required() int? workflowId; // @StringLength(100) String? contractNo; // @StringLength(100) String? contractDate; String? serviceName; // @StringLength(100) String? contractType; String? objective; String? location; DateTime? createdAt; // @required() int? createdBy; Contract({this.id,this.workflowId,this.contractNo,this.contractDate,this.serviceName,this.contractType,this.objective,this.location,this.createdAt,this.createdBy}); Contract.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; workflowId = json['workflowId']; contractNo = json['contractNo']; contractDate = json['contractDate']; serviceName = json['serviceName']; contractType = json['contractType']; objective = json['objective']; location = json['location']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); createdBy = json['createdBy']; return this; } Map toJson() => { 'id': id, 'workflowId': workflowId, 'contractNo': contractNo, 'contractDate': contractDate, 'serviceName': serviceName, 'contractType': contractType, 'objective': objective, 'location': location, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'createdBy': createdBy }; getTypeName() => "Contract"; TypeContext? context = _ctx; } class Estimate implements IConvertible { int? id; // @required() int? workflowId; int? valueBeforeTax; int? taxAmount; int? totalAmount; DateTime? createdAt; // @required() int? createdBy; Estimate({this.id,this.workflowId,this.valueBeforeTax,this.taxAmount,this.totalAmount,this.createdAt,this.createdBy}); Estimate.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; workflowId = json['workflowId']; valueBeforeTax = json['valueBeforeTax']; taxAmount = json['taxAmount']; totalAmount = json['totalAmount']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); createdBy = json['createdBy']; return this; } Map toJson() => { 'id': id, 'workflowId': workflowId, 'valueBeforeTax': valueBeforeTax, 'taxAmount': taxAmount, 'totalAmount': totalAmount, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'createdBy': createdBy }; getTypeName() => "Estimate"; TypeContext? context = _ctx; } class PurchaseHistory implements IConvertible { int? id; // @required() int? workflowId; int? sequenceNo; String? detail; // @StringLength(150) String? unit; int? quantity; int? unitPrice; int? amount; String? note; String? name; String? purpose; DateTime? createdAt; // @required() int? createdBy; PurchaseHistory({this.id,this.workflowId,this.sequenceNo,this.detail,this.unit,this.quantity,this.unitPrice,this.amount,this.note,this.name,this.purpose,this.createdAt,this.createdBy}); PurchaseHistory.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; workflowId = json['workflowId']; sequenceNo = json['sequenceNo']; detail = json['detail']; unit = json['unit']; quantity = json['quantity']; unitPrice = json['unitPrice']; amount = json['amount']; note = json['note']; name = json['name']; purpose = json['purpose']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); createdBy = json['createdBy']; return this; } Map toJson() => { 'id': id, 'workflowId': workflowId, 'sequenceNo': sequenceNo, 'detail': detail, 'unit': unit, 'quantity': quantity, 'unitPrice': unitPrice, 'amount': amount, 'note': note, 'name': name, 'purpose': purpose, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'createdBy': createdBy }; getTypeName() => "PurchaseHistory"; TypeContext? context = _ctx; } class AdvancedWorkflowInfoData implements IConvertible { Provider? provider; Contract? contract; Estimate? estimate; List? purchaseHistory; AdvancedWorkflowInfoData({this.provider,this.contract,this.estimate,this.purchaseHistory}); AdvancedWorkflowInfoData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { provider = JsonConverters.fromJson(json['provider'],'Provider',context!); contract = JsonConverters.fromJson(json['contract'],'Contract',context!); estimate = JsonConverters.fromJson(json['estimate'],'Estimate',context!); purchaseHistory = JsonConverters.fromJson(json['purchaseHistory'],'List',context!); return this; } Map toJson() => { 'provider': JsonConverters.toJson(provider,'Provider',context!), 'contract': JsonConverters.toJson(contract,'Contract',context!), 'estimate': JsonConverters.toJson(estimate,'Estimate',context!), 'purchaseHistory': JsonConverters.toJson(purchaseHistory,'List',context!) }; getTypeName() => "AdvancedWorkflowInfoData"; TypeContext? context = _ctx; } class AdvancedWorkflowInfoResponse implements IConvertible { int? code; String? message; AdvancedWorkflowInfoData? data; AdvancedWorkflowInfoResponse({this.code,this.message,this.data}); AdvancedWorkflowInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { code = json['code']; message = json['message']; data = JsonConverters.fromJson(json['data'],'AdvancedWorkflowInfoData',context!); return this; } Map toJson() => { 'code': code, 'message': message, 'data': JsonConverters.toJson(data,'AdvancedWorkflowInfoData',context!) }; getTypeName() => "AdvancedWorkflowInfoResponse"; TypeContext? context = _ctx; } // @Route("/workflow/{WorkflowId}/advanced-info", "GET") class GetAdvancedWorkflowInfoRequest implements IReturn, IConvertible, IGet { int? workflowId; GetAdvancedWorkflowInfoRequest({this.workflowId}); GetAdvancedWorkflowInfoRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { workflowId = json['workflowId']; return this; } Map toJson() => { 'workflowId': workflowId }; createResponse() => AdvancedWorkflowInfoResponse(); getResponseTypeName() => "AdvancedWorkflowInfoResponse"; getTypeName() => "GetAdvancedWorkflowInfoRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: { 'Provider': TypeInfo(TypeOf.Class, create:() => Provider()), 'Contract': TypeInfo(TypeOf.Class, create:() => Contract()), 'Estimate': TypeInfo(TypeOf.Class, create:() => Estimate()), 'PurchaseHistory': TypeInfo(TypeOf.Class, create:() => PurchaseHistory()), 'AdvancedWorkflowInfoData': TypeInfo(TypeOf.Class, create:() => AdvancedWorkflowInfoData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'AdvancedWorkflowInfoResponse': TypeInfo(TypeOf.Class, create:() => AdvancedWorkflowInfoResponse()), 'GetAdvancedWorkflowInfoRequest': TypeInfo(TypeOf.Class, create:() => GetAdvancedWorkflowInfoRequest()), });