| GET,OPTIONS | /v1/pm/project/{Uid} |
|---|
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 PmCalendarBar
{
public virtual int JobID { get; set; }
public virtual string Name { get; set; }
public virtual string StartDate { get; set; }
public virtual string EndDate { get; set; }
public virtual string Status { get; set; }
}
public partial class PmCatalogItem
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual double Amount { get; set; }
}
public partial class PmConflict
{
public virtual string ProjectName { get; set; }
public virtual string JobName { get; set; }
public virtual string StartDate { get; set; }
public virtual string EndDate { get; set; }
}
public partial class PmEquipmentRow
{
public virtual int EquipmentID { get; set; }
public virtual string Name { get; set; }
public virtual string EquipmentType { get; set; }
public virtual string SerialNumber { get; set; }
public virtual string UsedByJobs { get; set; }
public virtual bool Available { get; set; }
public virtual List<PmConflict> Conflicts { get; set; } = [];
public virtual int? MaintenanceIntervalDays { get; set; }
public virtual string LastServiceDate { get; set; }
public virtual string NextServiceDate { get; set; }
public virtual string MaintenanceState { get; set; }
}
public partial class PmFinance
{
public virtual double Budget { get; set; }
public virtual double Spent { get; set; }
public virtual double EstimatedCost { get; set; }
public virtual double CrewCost { get; set; }
public virtual double EquipCost { get; set; }
public virtual double MatCost { get; set; }
public virtual double Variance { get; set; }
public virtual int HealthPct { get; set; }
public virtual int SpentPct { get; set; }
public virtual int ProgressPct { get; set; }
}
public partial class PmJob
{
public virtual int JobID { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Status { get; set; }
public virtual string StartDate { get; set; }
public virtual string EndDate { get; set; }
public virtual int CrewCount { get; set; }
public virtual double BudgetedHours { get; set; }
public virtual int EquipmentCount { get; set; }
public virtual int MaterialCount { get; set; }
public virtual double CrewCost { get; set; }
public virtual double EquipCost { get; set; }
public virtual double MatCost { get; set; }
public virtual double Cost { get; set; }
public virtual bool NoCrew { get; set; }
public virtual bool EquipConflict { get; set; }
public virtual bool MaterialGap { get; set; }
public virtual int ReadyPct { get; set; }
public virtual List<PmJobCrew> Crew { get; set; } = [];
public virtual List<PmJobResource> Equipment { get; set; } = [];
public virtual List<PmJobResource> Materials { get; set; } = [];
}
public partial class PmJobCrew
{
public virtual int ContactID { get; set; }
public virtual string Name { get; set; }
public virtual double Rate { get; set; }
public virtual double BudgetedHours { get; set; }
public virtual bool IsOpen { get; set; }
}
public partial class PmJobResource
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual double Amount { get; set; }
public virtual int Qty { get; set; }
}
public partial class PmMaterialRow
{
public virtual int MaterialID { get; set; }
public virtual string Name { get; set; }
public virtual string MaterialType { get; set; }
public virtual int OnHand { get; set; }
public virtual int NeededByJobs { get; set; }
public virtual int QtyNeeded { get; set; }
public virtual int ToOrder { get; set; }
public virtual double UnitCost { get; set; }
public virtual double LineCost { get; set; }
public virtual int ProjectMaterialID { get; set; }
public virtual int StatusID { get; set; }
public virtual string Status { get; set; }
public virtual string Supplier { get; set; }
public virtual string OrderDate { get; set; }
public virtual string DeliveryDate { get; set; }
public virtual bool Shortfall { get; set; }
}
public partial class PmProjectDetail
{
public virtual int ProjectID { get; set; }
public virtual string ProjectUID { get; set; }
public virtual string Name { get; set; }
public virtual string Client { get; set; }
public virtual string ProjectType { get; set; }
public virtual string Status { get; set; }
public virtual string Branch { get; set; }
public virtual string StartDate { get; set; }
public virtual string EndDate { get; set; }
public virtual string Description { get; set; }
public virtual PmFinance Finance { get; set; }
public virtual PmReadiness Readiness { get; set; }
public virtual List<PmJob> Jobs { get; set; } = [];
public virtual List<PmEquipmentRow> Equipment { get; set; } = [];
public virtual List<PmMaterialRow> Materials { get; set; } = [];
public virtual List<PmCalendarBar> Calendar { get; set; } = [];
public virtual List<PmCatalogItem> ProjectStatuses { get; set; } = [];
public virtual ResponseStatus ResponseStatus { get; set; }
}
public partial class PmProjectDetailRequest
{
public virtual string Uid { get; set; }
}
public partial class PmReadiness
{
public virtual int JobsNoCrew { get; set; }
public virtual int OpenRoles { get; set; }
public virtual int EquipmentConflicts { get; set; }
public virtual int MaterialGaps { get; set; }
public virtual int TotalGaps { get; set; }
public virtual int ReadyPct { get; set; }
}
}
C# PmProjectDetailRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/pm/project/{Uid} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<PmProjectDetail xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Branch>String</Branch>
<Calendar>
<PmCalendarBar>
<EndDate>String</EndDate>
<JobID>0</JobID>
<Name>String</Name>
<StartDate>String</StartDate>
<Status>String</Status>
</PmCalendarBar>
</Calendar>
<Client>String</Client>
<Description>String</Description>
<EndDate>String</EndDate>
<Equipment>
<PmEquipmentRow>
<Available>false</Available>
<Conflicts>
<PmConflict>
<EndDate>String</EndDate>
<JobName>String</JobName>
<ProjectName>String</ProjectName>
<StartDate>String</StartDate>
</PmConflict>
</Conflicts>
<EquipmentID>0</EquipmentID>
<EquipmentType>String</EquipmentType>
<LastServiceDate>String</LastServiceDate>
<MaintenanceIntervalDays>0</MaintenanceIntervalDays>
<MaintenanceState>String</MaintenanceState>
<Name>String</Name>
<NextServiceDate>String</NextServiceDate>
<SerialNumber>String</SerialNumber>
<UsedByJobs>String</UsedByJobs>
</PmEquipmentRow>
</Equipment>
<Finance>
<Budget>0</Budget>
<CrewCost>0</CrewCost>
<EquipCost>0</EquipCost>
<EstimatedCost>0</EstimatedCost>
<HealthPct>0</HealthPct>
<MatCost>0</MatCost>
<ProgressPct>0</ProgressPct>
<Spent>0</Spent>
<SpentPct>0</SpentPct>
<Variance>0</Variance>
</Finance>
<Jobs>
<PmJob>
<BudgetedHours>0</BudgetedHours>
<Cost>0</Cost>
<Crew>
<PmJobCrew>
<BudgetedHours>0</BudgetedHours>
<ContactID>0</ContactID>
<IsOpen>false</IsOpen>
<Name>String</Name>
<Rate>0</Rate>
</PmJobCrew>
</Crew>
<CrewCost>0</CrewCost>
<CrewCount>0</CrewCount>
<Description>String</Description>
<EndDate>String</EndDate>
<EquipConflict>false</EquipConflict>
<EquipCost>0</EquipCost>
<Equipment>
<PmJobResource>
<Amount>0</Amount>
<Id>0</Id>
<Name>String</Name>
<Qty>0</Qty>
</PmJobResource>
</Equipment>
<EquipmentCount>0</EquipmentCount>
<JobID>0</JobID>
<MatCost>0</MatCost>
<MaterialCount>0</MaterialCount>
<MaterialGap>false</MaterialGap>
<Materials>
<PmJobResource>
<Amount>0</Amount>
<Id>0</Id>
<Name>String</Name>
<Qty>0</Qty>
</PmJobResource>
</Materials>
<Name>String</Name>
<NoCrew>false</NoCrew>
<ReadyPct>0</ReadyPct>
<StartDate>String</StartDate>
<Status>String</Status>
</PmJob>
</Jobs>
<Materials>
<PmMaterialRow>
<DeliveryDate>String</DeliveryDate>
<LineCost>0</LineCost>
<MaterialID>0</MaterialID>
<MaterialType>String</MaterialType>
<Name>String</Name>
<NeededByJobs>0</NeededByJobs>
<OnHand>0</OnHand>
<OrderDate>String</OrderDate>
<ProjectMaterialID>0</ProjectMaterialID>
<QtyNeeded>0</QtyNeeded>
<Shortfall>false</Shortfall>
<Status>String</Status>
<StatusID>0</StatusID>
<Supplier>String</Supplier>
<ToOrder>0</ToOrder>
<UnitCost>0</UnitCost>
</PmMaterialRow>
</Materials>
<Name>String</Name>
<ProjectID>0</ProjectID>
<ProjectStatuses>
<PmCatalogItem>
<Amount>0</Amount>
<Id>0</Id>
<Name>String</Name>
</PmCatalogItem>
</ProjectStatuses>
<ProjectType>String</ProjectType>
<ProjectUID>String</ProjectUID>
<Readiness>
<EquipmentConflicts>0</EquipmentConflicts>
<JobsNoCrew>0</JobsNoCrew>
<MaterialGaps>0</MaterialGaps>
<OpenRoles>0</OpenRoles>
<ReadyPct>0</ReadyPct>
<TotalGaps>0</TotalGaps>
</Readiness>
<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>
<StartDate>String</StartDate>
<Status>String</Status>
</PmProjectDetail>