tvpl.api

<back to all web services

GetAdvancedWorkflowInfoRequest

Requires Authentication
The following routes are available for this service:
GET/workflow/{WorkflowId}/advanced-info
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using tvpl.api.ServiceModel;
using tvpl.data.Models;

namespace tvpl.api.ServiceModel
{
    public partial class AdvancedWorkflowInfoData
    {
        public AdvancedWorkflowInfoData()
        {
            PurchaseHistory = new List<PurchaseHistory>{};
        }

        public virtual Provider Provider { get; set; }
        public virtual Contract Contract { get; set; }
        public virtual Estimate Estimate { get; set; }
        public virtual List<PurchaseHistory> PurchaseHistory { get; set; }
    }

    public partial class AdvancedWorkflowInfoResponse
    {
        public virtual int Code { get; set; }
        public virtual string Message { get; set; }
        public virtual AdvancedWorkflowInfoData Data { get; set; }
    }

    public partial class GetAdvancedWorkflowInfoRequest
    {
        public virtual int WorkflowId { get; set; }
    }

}

namespace tvpl.data.Models
{
    public partial class Contract
    {
        public virtual int Id { get; set; }
        [Required]
        public virtual int WorkflowId { get; set; }

        [StringLength(100)]
        public virtual string ContractNo { get; set; }

        [StringLength(100)]
        public virtual string ContractDate { get; set; }

        public virtual string ServiceName { get; set; }
        [StringLength(100)]
        public virtual string ContractType { get; set; }

        public virtual string Objective { get; set; }
        public virtual string Location { get; set; }
        public virtual DateTime CreatedAt { get; set; }
        [Required]
        public virtual int CreatedBy { get; set; }
    }

    public partial class Estimate
    {
        public virtual int Id { get; set; }
        [Required]
        public virtual int WorkflowId { get; set; }

        public virtual int? ValueBeforeTax { get; set; }
        public virtual int? TaxAmount { get; set; }
        public virtual int? TotalAmount { get; set; }
        public virtual DateTime CreatedAt { get; set; }
        [Required]
        public virtual int CreatedBy { get; set; }
    }

    public partial class Provider
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string TaxCode { get; set; }
        public virtual string Address { get; set; }
        public virtual string Email { get; set; }
        public virtual string Phone { get; set; }
        public virtual string AdditionalInfo { get; set; }
        public virtual int ProviderType { get; set; }
        public virtual DateTime? CreatedAt { get; set; }
        public virtual int? CreatedBy { get; set; }
    }

    public partial class PurchaseHistory
    {
        public virtual int Id { get; set; }
        [Required]
        public virtual int WorkflowId { get; set; }

        public virtual int? SequenceNo { get; set; }
        public virtual string Detail { get; set; }
        [StringLength(150)]
        public virtual string Unit { get; set; }

        public virtual int? Quantity { get; set; }
        public virtual int? UnitPrice { get; set; }
        public virtual int? Amount { get; set; }
        public virtual string Note { get; set; }
        public virtual DateTime CreatedAt { get; set; }
        [Required]
        public virtual int CreatedBy { get; set; }
    }

}

C# GetAdvancedWorkflowInfoRequest 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.

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
			}
		]
	}
}