tvpl.api

<back to all web services

CreateProcurementItemRequest

Requires Authentication
The following routes are available for this service:
POST/procurement/item
namespace tvpl.api.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ProcurementItem() = 
        member val Id:Int32 = new Int32() with get,set
        member val BatchId:Int32 = new Int32() with get,set
        member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val EquipmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        [<StringLength(500)>]
        member val ProductName:String = null with get,set

        member val TechnicalSpec:String = null with get,set
        [<StringLength(50)>]
        member val Unit:String = null with get,set

        member val Quantity:Int32 = new Int32() with get,set
        member val Purpose:String = null with get,set
        member val Note:String = null with get,set
        member val ApprovalStatus:Int32 = new Int32() with get,set
        member val ApprovalNote:String = null with get,set
        member val ApprovedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ApprovedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CreatedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val UpdatedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val IsDeleted:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val DeletedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DeletedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Ignore>]
        member val DepartmentName:String = null with get,set

        [<Ignore>]
        member val CreatedByName:String = null with get,set

        [<Ignore>]
        member val ApprovedByName:String = null with get,set

    [<AllowNullLiteral>]
    type CreateProcurementItemRequest() = 
        member val BatchId:Int32 = new Int32() with get,set
        member val EquipmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ProductName:String = null with get,set
        member val TechnicalSpec:String = null with get,set
        member val Unit:String = null with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val Purpose:String = null with get,set
        member val Note:String = null with get,set

F# CreateProcurementItemRequest 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 HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
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/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
}