Trendsic Platform Service

<back to all web services

ProjectMaterialListRequest

Requires Authentication
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Project/Materials/{ProjectID}
GET,POST,PUT,DELETE,OPTIONS/v1/Project/Materials/{ProjectID}/{JobID}
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;

namespace CRM.AgencyPlatform.API.Internal
{
    public partial class Material
    {
        public virtual int MaterialID { get; set; }
        public virtual string MaterialName { get; set; }
        public virtual short MaterialTypeID { get; set; }
        public virtual byte MaterialStatusID { get; set; }
        public virtual int Quantity { get; set; }
        public virtual string Supplier { get; set; }
        public virtual DateTime OrderDate { get; set; }
        public virtual DateTime DeliveryDate { get; set; }
        public virtual DateTime OnSiteDate { get; set; }
        public virtual string MaterialLocation { get; set; }
        public virtual string Manufacturer { get; set; }
        public virtual string SerialNumber { get; set; }
        public virtual string BarCode { get; set; }
        public virtual string TrackingInfo { get; set; }
        public virtual string MaterialDescription { get; set; }
        public virtual string Notes { get; set; }
        public virtual string ImageURL { get; set; }
        public virtual string DetailsURL { get; set; }
        public virtual Guid CreatedByUID { get; set; }
        public virtual bool Active { get; set; }
        public virtual DateTime RecordCreatedDate { get; set; }
        public virtual int StatusId { get; set; }
        public virtual string MaterialTypeName { get; set; }
        public virtual double Cost { get; set; }
        public virtual List<Project> Projects { get; set; } = [];
    }

    public partial class Project
    {
        public virtual int ProjectID { get; set; }
        public virtual Guid ProjectUID { get; set; }
        public virtual string ProjectName { get; set; }
        public virtual string ImageURL { get; set; }
        public virtual string ImageKey { get; set; }
        public virtual string ClientName { get; set; }
        public virtual string ClientPhone { get; set; }
        public virtual string ClientEmail { get; set; }
        public virtual int ProjectManagerID { get; set; }
        public virtual string ProjectManagerName { get; set; }
        public virtual DateTime? StartDate { get; set; }
        public virtual DateTime? EndDate { get; set; }
        public virtual DateTime? ActualStartDate { get; set; }
        public virtual DateTime? ActualEndDate { get; set; }
        public virtual int JobCount { get; set; }
        public virtual int CrewMemberCount { get; set; }
        public virtual int EquipmentCount { get; set; }
        public virtual int MaterialCount { get; set; }
        public virtual short ProjectStatusID { get; set; }
        public virtual string ProjectStatusDescription { get; set; }
        public virtual decimal Budget { get; set; }
        public virtual decimal CostToDate { get; set; }
        public virtual string ProjectLocation { get; set; }
        public virtual string ProjectType { get; set; }
        public virtual string ProjectSponsor { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? CreatedAt { get; set; }
        public virtual DateTime? UpdatedAt { get; set; }
        public virtual string ProjectDescription { get; set; }
        public virtual string Scope { get; set; }
        public virtual int StatusId { get; set; }
    }

    public partial class ProjectMaterial
        : Material
    {
        public virtual int ProjectMaterialID { get; set; }
        public virtual int ProjectID { get; set; }
        public virtual DateTime ProjectEndDate { get; set; }
        public virtual double MaterialCost { get; set; }
        public virtual int JobID { get; set; }
        public virtual double BilledMaterialCost { get; set; }
        public virtual int MaterialQty { get; set; }
    }

    public partial class ProjectMaterialListRequest
    {
        public virtual int ProjectID { get; set; }
        public virtual int JobID { get; set; }
        public virtual List<Material> ProjectMaterials { get; set; } = [];
    }

    public partial class ProjectMaterialListResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual List<ProjectMaterial> ProjectMaterials { get; set; } = [];
    }

}

C# ProjectMaterialListRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/Project/Materials/{ProjectID} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ProjectMaterialListRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <JobID>0</JobID>
  <ProjectID>0</ProjectID>
  <ProjectMaterials>
    <Material>
      <Active>false</Active>
      <BarCode>String</BarCode>
      <Cost>0</Cost>
      <CreatedByUID>00000000-0000-0000-0000-000000000000</CreatedByUID>
      <DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
      <DetailsURL>String</DetailsURL>
      <ImageURL>String</ImageURL>
      <Manufacturer>String</Manufacturer>
      <MaterialDescription>String</MaterialDescription>
      <MaterialID>0</MaterialID>
      <MaterialLocation>String</MaterialLocation>
      <MaterialName>String</MaterialName>
      <MaterialStatusID>0</MaterialStatusID>
      <MaterialTypeID>0</MaterialTypeID>
      <MaterialTypeName>String</MaterialTypeName>
      <Notes>String</Notes>
      <OnSiteDate>0001-01-01T00:00:00</OnSiteDate>
      <OrderDate>0001-01-01T00:00:00</OrderDate>
      <Projects>
        <Project>
          <ActualEndDate>0001-01-01T00:00:00</ActualEndDate>
          <ActualStartDate>0001-01-01T00:00:00</ActualStartDate>
          <Budget>0</Budget>
          <ClientEmail>String</ClientEmail>
          <ClientName>String</ClientName>
          <ClientPhone>String</ClientPhone>
          <CostToDate>0</CostToDate>
          <CreatedAt>0001-01-01T00:00:00</CreatedAt>
          <CreatedBy>String</CreatedBy>
          <CrewMemberCount>0</CrewMemberCount>
          <EndDate>0001-01-01T00:00:00</EndDate>
          <EquipmentCount>0</EquipmentCount>
          <ImageKey>String</ImageKey>
          <ImageURL>String</ImageURL>
          <JobCount>0</JobCount>
          <MaterialCount>0</MaterialCount>
          <ProjectDescription>String</ProjectDescription>
          <ProjectID>0</ProjectID>
          <ProjectLocation>String</ProjectLocation>
          <ProjectManagerID>0</ProjectManagerID>
          <ProjectManagerName>String</ProjectManagerName>
          <ProjectName>String</ProjectName>
          <ProjectSponsor>String</ProjectSponsor>
          <ProjectStatusDescription>String</ProjectStatusDescription>
          <ProjectStatusID>0</ProjectStatusID>
          <ProjectType>String</ProjectType>
          <ProjectUID>00000000-0000-0000-0000-000000000000</ProjectUID>
          <Scope>String</Scope>
          <StartDate>0001-01-01T00:00:00</StartDate>
          <StatusId>0</StatusId>
          <UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
        </Project>
      </Projects>
      <Quantity>0</Quantity>
      <RecordCreatedDate>0001-01-01T00:00:00</RecordCreatedDate>
      <SerialNumber>String</SerialNumber>
      <StatusId>0</StatusId>
      <Supplier>String</Supplier>
      <TrackingInfo>String</TrackingInfo>
    </Material>
  </ProjectMaterials>
</ProjectMaterialListRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ProjectMaterialListResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ProjectMaterials>
    <ProjectMaterial>
      <Active>false</Active>
      <BarCode>String</BarCode>
      <Cost>0</Cost>
      <CreatedByUID>00000000-0000-0000-0000-000000000000</CreatedByUID>
      <DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
      <DetailsURL>String</DetailsURL>
      <ImageURL>String</ImageURL>
      <Manufacturer>String</Manufacturer>
      <MaterialDescription>String</MaterialDescription>
      <MaterialID>0</MaterialID>
      <MaterialLocation>String</MaterialLocation>
      <MaterialName>String</MaterialName>
      <MaterialStatusID>0</MaterialStatusID>
      <MaterialTypeID>0</MaterialTypeID>
      <MaterialTypeName>String</MaterialTypeName>
      <Notes>String</Notes>
      <OnSiteDate>0001-01-01T00:00:00</OnSiteDate>
      <OrderDate>0001-01-01T00:00:00</OrderDate>
      <Projects>
        <Project>
          <ActualEndDate>0001-01-01T00:00:00</ActualEndDate>
          <ActualStartDate>0001-01-01T00:00:00</ActualStartDate>
          <Budget>0</Budget>
          <ClientEmail>String</ClientEmail>
          <ClientName>String</ClientName>
          <ClientPhone>String</ClientPhone>
          <CostToDate>0</CostToDate>
          <CreatedAt>0001-01-01T00:00:00</CreatedAt>
          <CreatedBy>String</CreatedBy>
          <CrewMemberCount>0</CrewMemberCount>
          <EndDate>0001-01-01T00:00:00</EndDate>
          <EquipmentCount>0</EquipmentCount>
          <ImageKey>String</ImageKey>
          <ImageURL>String</ImageURL>
          <JobCount>0</JobCount>
          <MaterialCount>0</MaterialCount>
          <ProjectDescription>String</ProjectDescription>
          <ProjectID>0</ProjectID>
          <ProjectLocation>String</ProjectLocation>
          <ProjectManagerID>0</ProjectManagerID>
          <ProjectManagerName>String</ProjectManagerName>
          <ProjectName>String</ProjectName>
          <ProjectSponsor>String</ProjectSponsor>
          <ProjectStatusDescription>String</ProjectStatusDescription>
          <ProjectStatusID>0</ProjectStatusID>
          <ProjectType>String</ProjectType>
          <ProjectUID>00000000-0000-0000-0000-000000000000</ProjectUID>
          <Scope>String</Scope>
          <StartDate>0001-01-01T00:00:00</StartDate>
          <StatusId>0</StatusId>
          <UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
        </Project>
      </Projects>
      <Quantity>0</Quantity>
      <RecordCreatedDate>0001-01-01T00:00:00</RecordCreatedDate>
      <SerialNumber>String</SerialNumber>
      <StatusId>0</StatusId>
      <Supplier>String</Supplier>
      <TrackingInfo>String</TrackingInfo>
      <BilledMaterialCost>0</BilledMaterialCost>
      <JobID>0</JobID>
      <MaterialCost>0</MaterialCost>
      <MaterialQty>0</MaterialQty>
      <ProjectEndDate>0001-01-01T00:00:00</ProjectEndDate>
      <ProjectID>0</ProjectID>
      <ProjectMaterialID>0</ProjectMaterialID>
    </ProjectMaterial>
  </ProjectMaterials>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</ProjectMaterialListResponse>