| 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 .other suffix or ?format=other
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: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"ProjectID":0,"ProjectUID":"String","Name":"String","Client":"String","ProjectType":"String","Status":"String","Branch":"String","StartDate":"String","EndDate":"String","Description":"String","Finance":{"Budget":0,"Spent":0,"EstimatedCost":0,"CrewCost":0,"EquipCost":0,"MatCost":0,"Variance":0,"HealthPct":0,"SpentPct":0,"ProgressPct":0},"Readiness":{"JobsNoCrew":0,"OpenRoles":0,"EquipmentConflicts":0,"MaterialGaps":0,"TotalGaps":0,"ReadyPct":0},"Jobs":[{"JobID":0,"Name":"String","Description":"String","Status":"String","StartDate":"String","EndDate":"String","CrewCount":0,"BudgetedHours":0,"EquipmentCount":0,"MaterialCount":0,"CrewCost":0,"EquipCost":0,"MatCost":0,"Cost":0,"NoCrew":false,"EquipConflict":false,"MaterialGap":false,"ReadyPct":0,"Crew":[{"ContactID":0,"Name":"String","Rate":0,"BudgetedHours":0,"IsOpen":false}],"Equipment":[{"Id":0,"Name":"String","Amount":0,"Qty":0}],"Materials":[{"Id":0,"Name":"String","Amount":0,"Qty":0}]}],"Equipment":[{"EquipmentID":0,"Name":"String","EquipmentType":"String","SerialNumber":"String","UsedByJobs":"String","Available":false,"Conflicts":[{"ProjectName":"String","JobName":"String","StartDate":"String","EndDate":"String"}],"MaintenanceIntervalDays":0,"LastServiceDate":"String","NextServiceDate":"String","MaintenanceState":"String"}],"Materials":[{"MaterialID":0,"Name":"String","MaterialType":"String","OnHand":0,"NeededByJobs":0,"QtyNeeded":0,"ToOrder":0,"UnitCost":0,"LineCost":0,"ProjectMaterialID":0,"StatusID":0,"Status":"String","Supplier":"String","OrderDate":"String","DeliveryDate":"String","Shortfall":false}],"Calendar":[{"JobID":0,"Name":"String","StartDate":"String","EndDate":"String","Status":"String"}],"ProjectStatuses":[{"Id":0,"Name":"String","Amount":0}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}