| GET | /workflow/{WorkflowId}/advanced-info |
|---|
import Foundation
import ServiceStack
public class GetAdvancedWorkflowInfoRequest : Codable
{
public var workflowId:Int
required public init(){}
}
public class AdvancedWorkflowInfoResponse : Codable
{
public var code:Int
public var message:String
public var data:AdvancedWorkflowInfoData
required public init(){}
}
public class AdvancedWorkflowInfoData : Codable
{
public var provider:Provider
public var contract:Contract
public var estimate:Estimate
public var purchaseHistory:[PurchaseHistory] = []
required public init(){}
}
public class Provider : Codable
{
public var id:Int
public var name:String
public var taxCode:String
public var address:String
public var email:String
public var phone:String
public var additionalInfo:String
public var providerType:Int
public var createdAt:Date?
public var createdBy:Int?
required public init(){}
}
public class Contract : Codable
{
public var id:Int
// @Required()
public var workflowId:Int?
// @StringLength(100)
public var contractNo:String
// @StringLength(100)
public var contractDate:String
public var serviceName:String
// @StringLength(100)
public var contractType:String
public var objective:String
public var location:String
public var createdAt:Date
// @Required()
public var createdBy:Int?
required public init(){}
}
public class Estimate : Codable
{
public var id:Int
// @Required()
public var workflowId:Int?
public var valueBeforeTax:Int?
public var taxAmount:Int?
public var totalAmount:Int?
public var createdAt:Date
// @Required()
public var createdBy:Int?
required public init(){}
}
public class PurchaseHistory : Codable
{
public var id:Int
// @Required()
public var workflowId:Int?
public var sequenceNo:Int?
public var detail:String
// @StringLength(150)
public var unit:String
public var quantity:Int?
public var unitPrice:Int?
public var amount:Int?
public var note:String
public var createdAt:Date
// @Required()
public var createdBy:Int?
required public init(){}
}
Swift 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
}
]
}
}