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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<ApproveProcurementItemRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Approve>false</Approve>
  <Id>0</Id>
  <Note>String</Note>
</ApproveProcurementItemRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ProcurementItem xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">
  <ApprovalNote>String</ApprovalNote>
  <ApprovalStatus>0</ApprovalStatus>
  <ApprovedAt>0001-01-01T00:00:00</ApprovedAt>
  <ApprovedBy>0</ApprovedBy>
  <ApprovedByName>String</ApprovedByName>
  <BatchId>0</BatchId>
  <CreatedAt>0001-01-01T00:00:00</CreatedAt>
  <CreatedBy>0</CreatedBy>
  <CreatedByName>String</CreatedByName>
  <DeletedAt>0001-01-01T00:00:00</DeletedAt>
  <DeletedBy>0</DeletedBy>
  <DepartmentId>0</DepartmentId>
  <DepartmentName>String</DepartmentName>
  <EquipmentId>0</EquipmentId>
  <Id>0</Id>
  <IsDeleted>false</IsDeleted>
  <Note>String</Note>
  <ProductName>String</ProductName>
  <Purpose>String</Purpose>
  <Quantity>0</Quantity>
  <TechnicalSpec>String</TechnicalSpec>
  <Unit>String</Unit>
  <UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
  <UpdatedBy>0</UpdatedBy>
</ProcurementItem>