Trendsic Platform Service

<back to all web services

ProjectInvoiceRequest

Requires Authentication
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Project/Invoice/{ProjectID}/{InvoiceStartDate}/{InvoiceEndDate}
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class ProjectInvoiceRequest
    {
        public Integer ProjectID = null;
        public Date InvoiceStartDate = null;
        public Date InvoiceEndDate = null;
        
        public Integer getProjectID() { return ProjectID; }
        public ProjectInvoiceRequest setProjectID(Integer value) { this.ProjectID = value; return this; }
        public Date getInvoiceStartDate() { return InvoiceStartDate; }
        public ProjectInvoiceRequest setInvoiceStartDate(Date value) { this.InvoiceStartDate = value; return this; }
        public Date getInvoiceEndDate() { return InvoiceEndDate; }
        public ProjectInvoiceRequest setInvoiceEndDate(Date value) { this.InvoiceEndDate = value; return this; }
    }

    public static class ProjectInvoiceResponse
    {
        public ResponseStatus ResponseStatus = null;
        public ArrayList<ProjectInvoice> ProjectInvoice = new ArrayList<ProjectInvoice>();
        
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public ProjectInvoiceResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
        public ArrayList<ProjectInvoice> getProjectInvoice() { return ProjectInvoice; }
        public ProjectInvoiceResponse setProjectInvoice(ArrayList<ProjectInvoice> value) { this.ProjectInvoice = value; return this; }
    }

    public static class ProjectInvoice
    {
        public String CostType = null;
        public String CostName = null;
        public BigDecimal CostToDate = null;
        public Integer JobID = null;
        public BigDecimal Rate = null;
        public Integer Hours = null;
        
        public String getCostType() { return CostType; }
        public ProjectInvoice setCostType(String value) { this.CostType = value; return this; }
        public String getCostName() { return CostName; }
        public ProjectInvoice setCostName(String value) { this.CostName = value; return this; }
        public BigDecimal getCostToDate() { return CostToDate; }
        public ProjectInvoice setCostToDate(BigDecimal value) { this.CostToDate = value; return this; }
        public Integer getJobID() { return JobID; }
        public ProjectInvoice setJobID(Integer value) { this.JobID = value; return this; }
        public BigDecimal getRate() { return Rate; }
        public ProjectInvoice setRate(BigDecimal value) { this.Rate = value; return this; }
        public Integer getHours() { return Hours; }
        public ProjectInvoice setHours(Integer value) { this.Hours = value; return this; }
    }

}

Java ProjectInvoiceRequest 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 /v1/Project/Invoice/{ProjectID}/{InvoiceStartDate}/{InvoiceEndDate} HTTP/1.1 
Host: api.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProjectID: 0,
	InvoiceStartDate: 0001-01-01,
	InvoiceEndDate: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	ProjectInvoice: 
	[
		{
			CostType: String,
			CostName: String,
			CostToDate: 0,
			JobID: 0,
			Rate: 0,
			Hours: 0
		}
	]
}