| GET | /workflow/{WorkflowId}/advanced-info |
|---|
namespace tvpl.api.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Provider() =
member val Id:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val TaxCode:String = null with get,set
member val Address:String = null with get,set
member val Email:String = null with get,set
member val Phone:String = null with get,set
member val AdditionalInfo:String = null with get,set
member val ProviderType:Int32 = new 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
[<AllowNullLiteral>]
type Contract() =
member val Id:Int32 = new Int32() with get,set
[<Required>]
member val WorkflowId:Int32 = new Int32() with get,set
[<StringLength(100)>]
member val ContractNo:String = null with get,set
[<StringLength(100)>]
member val ContractDate:String = null with get,set
member val ServiceName:String = null with get,set
[<StringLength(100)>]
member val ContractType:String = null with get,set
member val Objective:String = null with get,set
member val Location:String = null with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
[<Required>]
member val CreatedBy:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type Estimate() =
member val Id:Int32 = new Int32() with get,set
[<Required>]
member val WorkflowId:Int32 = new Int32() with get,set
member val ValueBeforeTax:Nullable<Int32> = new Nullable<Int32>() with get,set
member val TaxAmount:Nullable<Int32> = new Nullable<Int32>() with get,set
member val TotalAmount:Nullable<Int32> = new Nullable<Int32>() with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
[<Required>]
member val CreatedBy:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type PurchaseHistory() =
member val Id:Int32 = new Int32() with get,set
[<Required>]
member val WorkflowId:Int32 = new Int32() with get,set
member val SequenceNo:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Detail:String = null with get,set
[<StringLength(150)>]
member val Unit:String = null with get,set
member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
member val UnitPrice:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Amount:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Note:String = null with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
[<Required>]
member val CreatedBy:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type AdvancedWorkflowInfoData() =
member val Provider:Provider = null with get,set
member val Contract:Contract = null with get,set
member val Estimate:Estimate = null with get,set
member val PurchaseHistory:ResizeArray<PurchaseHistory> = new ResizeArray<PurchaseHistory>() with get,set
[<AllowNullLiteral>]
type AdvancedWorkflowInfoResponse() =
member val Code:Int32 = new Int32() with get,set
member val Message:String = null with get,set
member val Data:AdvancedWorkflowInfoData = null with get,set
[<AllowNullLiteral>]
type GetAdvancedWorkflowInfoRequest() =
member val WorkflowId:Int32 = new Int32() with get,set
F# GetAdvancedWorkflowInfoRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /workflow/{WorkflowId}/advanced-info HTTP/1.1
Host: etc-api.vsmlab.vn
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
code: 0,
message: String,
data:
{
provider:
{
id: 0,
name: String,
taxCode: String,
address: String,
email: String,
phone: String,
additionalInfo: String,
providerType: 0,
createdAt: "0001-01-01T00:00:00.0000000+07:06",
createdBy: 0
},
contract:
{
id: 0,
workflowId: 0,
contractNo: String,
contractDate: String,
serviceName: String,
contractType: String,
objective: String,
location: String,
createdBy: 0
},
estimate:
{
id: 0,
workflowId: 0,
valueBeforeTax: 0,
taxAmount: 0,
totalAmount: 0,
createdBy: 0
},
purchaseHistory:
[
{
id: 0,
workflowId: 0,
sequenceNo: 0,
detail: String,
unit: String,
quantity: 0,
unitPrice: 0,
amount: 0,
note: String,
createdBy: 0
}
]
}
}