tvpl.api

<back to all web services

ApproveProcurementItemRequest

Requires Authentication
The following routes are available for this service:
POST/procurement/item/{Id}/approve
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 ApproveProcurementItemRequest implements IConvertible
{
    int? id;
    bool? approve;
    String? note;

    ApproveProcurementItemRequest({this.id,this.approve,this.note});
    ApproveProcurementItemRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        approve = json['approve'];
        note = json['note'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'approve': approve,
        'note': note
    };

    getTypeName() => "ApproveProcurementItemRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
    'ProcurementItem': TypeInfo(TypeOf.Class, create:() => ProcurementItem()),
    'ApproveProcurementItemRequest': TypeInfo(TypeOf.Class, create:() => ApproveProcurementItemRequest()),
});

Dart ApproveProcurementItemRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /procurement/item/{Id}/approve HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	approve: False,
	note: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}