| POST | /procurement/item |
|---|
import 'package:servicestack/servicestack.dart';
class ProcurementItem implements IConvertible
{
int? id;
int? batchId;
int? departmentId;
int? equipmentId;
// @required()
// @StringLength(500)
String? productName;
String? technicalSpec;
// @StringLength(50)
String? unit;
int? quantity;
String? purpose;
String? note;
int? approvalStatus;
String? approvalNote;
DateTime? approvedAt;
int? approvedBy;
DateTime? createdAt;
int? createdBy;
DateTime? updatedAt;
int? updatedBy;
bool? isDeleted;
DateTime? deletedAt;
int? deletedBy;
// @ignore()
String? departmentName;
// @ignore()
String? createdByName;
// @ignore()
String? approvedByName;
ProcurementItem({this.id,this.batchId,this.departmentId,this.equipmentId,this.productName,this.technicalSpec,this.unit,this.quantity,this.purpose,this.note,this.approvalStatus,this.approvalNote,this.approvedAt,this.approvedBy,this.createdAt,this.createdBy,this.updatedAt,this.updatedBy,this.isDeleted,this.deletedAt,this.deletedBy,this.departmentName,this.createdByName,this.approvedByName});
ProcurementItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
batchId = json['batchId'];
departmentId = json['departmentId'];
equipmentId = json['equipmentId'];
productName = json['productName'];
technicalSpec = json['technicalSpec'];
unit = json['unit'];
quantity = json['quantity'];
purpose = json['purpose'];
note = json['note'];
approvalStatus = json['approvalStatus'];
approvalNote = json['approvalNote'];
approvedAt = JsonConverters.fromJson(json['approvedAt'],'DateTime',context!);
approvedBy = json['approvedBy'];
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
createdBy = json['createdBy'];
updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
updatedBy = json['updatedBy'];
isDeleted = json['isDeleted'];
deletedAt = JsonConverters.fromJson(json['deletedAt'],'DateTime',context!);
deletedBy = json['deletedBy'];
departmentName = json['departmentName'];
createdByName = json['createdByName'];
approvedByName = json['approvedByName'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'batchId': batchId,
'departmentId': departmentId,
'equipmentId': equipmentId,
'productName': productName,
'technicalSpec': technicalSpec,
'unit': unit,
'quantity': quantity,
'purpose': purpose,
'note': note,
'approvalStatus': approvalStatus,
'approvalNote': approvalNote,
'approvedAt': JsonConverters.toJson(approvedAt,'DateTime',context!),
'approvedBy': approvedBy,
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'createdBy': createdBy,
'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!),
'updatedBy': updatedBy,
'isDeleted': isDeleted,
'deletedAt': JsonConverters.toJson(deletedAt,'DateTime',context!),
'deletedBy': deletedBy,
'departmentName': departmentName,
'createdByName': createdByName,
'approvedByName': approvedByName
};
getTypeName() => "ProcurementItem";
TypeContext? context = _ctx;
}
class CreateProcurementItemRequest implements IConvertible
{
int? batchId;
int? equipmentId;
String? productName;
String? technicalSpec;
String? unit;
int? quantity;
String? purpose;
String? note;
CreateProcurementItemRequest({this.batchId,this.equipmentId,this.productName,this.technicalSpec,this.unit,this.quantity,this.purpose,this.note});
CreateProcurementItemRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
batchId = json['batchId'];
equipmentId = json['equipmentId'];
productName = json['productName'];
technicalSpec = json['technicalSpec'];
unit = json['unit'];
quantity = json['quantity'];
purpose = json['purpose'];
note = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'batchId': batchId,
'equipmentId': equipmentId,
'productName': productName,
'technicalSpec': technicalSpec,
'unit': unit,
'quantity': quantity,
'purpose': purpose,
'note': note
};
getTypeName() => "CreateProcurementItemRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
'ProcurementItem': TypeInfo(TypeOf.Class, create:() => ProcurementItem()),
'CreateProcurementItemRequest': TypeInfo(TypeOf.Class, create:() => CreateProcurementItemRequest()),
});
Dart CreateProcurementItemRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /procurement/item HTTP/1.1
Host: etc-api.vsmlab.vn
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"batchId":0,"equipmentId":0,"productName":"String","technicalSpec":"String","unit":"String","quantity":0,"purpose":"String","note":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"id":0,"batchId":0,"departmentId":0,"equipmentId":0,"productName":"String","technicalSpec":"String","unit":"String","quantity":0,"purpose":"String","note":"String","approvalStatus":0,"approvalNote":"String","approvedAt":"0001-01-01T00:00:00.0000000+07:06","approvedBy":0,"createdAt":"0001-01-01T00:00:00.0000000+07:06","createdBy":0,"updatedAt":"0001-01-01T00:00:00.0000000+07:06","updatedBy":0,"isDeleted":false,"deletedAt":"0001-01-01T00:00:00.0000000+07:06","deletedBy":0,"departmentName":"String","createdByName":"String","approvedByName":"String"}