/* Options: Date: 2026-04-29 05:13:42 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: SearchProcurementBatchRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class PagingRequest implements IConvertible { int? page; int? limit; PagingRequest({this.page,this.limit}); PagingRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { page = json['page']; limit = json['limit']; return this; } Map toJson() => { 'page': page, 'limit': limit }; getTypeName() => "PagingRequest"; TypeContext? context = _ctx; } class ProcurementBatch implements IConvertible { int? id; // @required() // @StringLength(500) String? title; DateTime? deadline; String? description; int? status; DateTime? createdAt; int? createdBy; DateTime? closedAt; int? closedBy; bool? isDeleted; DateTime? deletedAt; int? deletedBy; // @ignore() String? createdByName; // @ignore() int? itemCount; ProcurementBatch({this.id,this.title,this.deadline,this.description,this.status,this.createdAt,this.createdBy,this.closedAt,this.closedBy,this.isDeleted,this.deletedAt,this.deletedBy,this.createdByName,this.itemCount}); ProcurementBatch.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; title = json['title']; deadline = JsonConverters.fromJson(json['deadline'],'DateTime',context!); description = json['description']; status = json['status']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); createdBy = json['createdBy']; closedAt = JsonConverters.fromJson(json['closedAt'],'DateTime',context!); closedBy = json['closedBy']; isDeleted = json['isDeleted']; deletedAt = JsonConverters.fromJson(json['deletedAt'],'DateTime',context!); deletedBy = json['deletedBy']; createdByName = json['createdByName']; itemCount = json['itemCount']; return this; } Map toJson() => { 'id': id, 'title': title, 'deadline': JsonConverters.toJson(deadline,'DateTime',context!), 'description': description, 'status': status, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'createdBy': createdBy, 'closedAt': JsonConverters.toJson(closedAt,'DateTime',context!), 'closedBy': closedBy, 'isDeleted': isDeleted, 'deletedAt': JsonConverters.toJson(deletedAt,'DateTime',context!), 'deletedBy': deletedBy, 'createdByName': createdByName, 'itemCount': itemCount }; getTypeName() => "ProcurementBatch"; TypeContext? context = _ctx; } class PageResponse implements IResponseRequest, IConvertible { int? code; String? message; List? data; Pagination? pagination; PageResponse({this.code,this.message,this.data,this.pagination}); PageResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { code = json['code']; message = json['message']; data = JsonConverters.fromJson(json['data'],'List<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!); pagination = JsonConverters.fromJson(json['pagination'],'Pagination',context!); return this; } Map toJson() => { 'code': code, 'message': message, 'data': JsonConverters.toJson(data,'List',context!), 'pagination': JsonConverters.toJson(pagination,'Pagination',context!) }; getTypeName() => "PageResponse<$ProcurementBatch>"; TypeContext? context = _ctx; } // @Route("/procurement/batch/search", "GET") class SearchProcurementBatchRequest extends PagingRequest implements IReturn>, IConvertible, IGet { String? title; int? status; SearchProcurementBatchRequest({this.title,this.status}); SearchProcurementBatchRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); title = json['title']; status = json['status']; return this; } Map toJson() => super.toJson()..addAll({ 'title': title, 'status': status }); createResponse() => PageResponse(); getResponseTypeName() => "PageResponse"; getTypeName() => "SearchProcurementBatchRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: { 'PagingRequest': TypeInfo(TypeOf.Class, create:() => PagingRequest()), 'ProcurementBatch': TypeInfo(TypeOf.Class, create:() => ProcurementBatch()), 'PageResponse': TypeInfo(TypeOf.Class, create:() => PageResponse()), 'Pagination': TypeInfo(TypeOf.Class, create:() => Pagination()), 'SearchProcurementBatchRequest': TypeInfo(TypeOf.Class, create:() => SearchProcurementBatchRequest()), });