| POST,OPTIONS | /v1/dashboard/project |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal
Namespace Global
Namespace CRM.AgencyPlatform.API.Internal
Public Partial Class DashboardSeries
Public Overridable Property Name As String
Public Overridable Property Points As List(Of DashboardSeriesPoint) = New List(Of DashboardSeriesPoint)
End Class
Public Partial Class DashboardSeriesPoint
Public Overridable Property Label As String
Public Overridable Property Value As Double
End Class
Public Partial Class DashboardStatTile
Public Overridable Property Key As String
Public Overridable Property Label As String
Public Overridable Property Value As Double
Public Overridable Property PreviousValue As Double?
Public Overridable Property Unit As String
Public Overridable Property DeltaPct As Double?
End Class
Public Partial Class ProjectDashOverdueRow
Public Overridable Property ProjectName As String
Public Overridable Property JobName As String
Public Overridable Property ExpectedCompletionDate As String
Public Overridable Property DaysOverdue As Integer
Public Overridable Property IsAtRisk As Boolean
End Class
Public Partial Class ProjectDashRequest
Public Overridable Property FromDate As Date
Public Overridable Property ToDate As Date
End Class
Public Partial Class ProjectDashResponse
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property Stats As List(Of DashboardStatTile) = New List(Of DashboardStatTile)
Public Overridable Property JobStatus As DashboardSeries
Public Overridable Property Throughput As DashboardSeries
Public Overridable Property CycleDistribution As DashboardSeries
Public Overridable Property Bottleneck As DashboardSeries
Public Overridable Property OverdueJobs As List(Of ProjectDashOverdueRow) = New List(Of ProjectDashOverdueRow)
Public Overridable Property Rollup As List(Of ProjectDashRollupRow) = New List(Of ProjectDashRollupRow)
End Class
Public Partial Class ProjectDashRollupRow
Public Overridable Property ProjectName As String
Public Overridable Property StatusName As String
Public Overridable Property JobCount As Integer
Public Overridable Property CompletedJobCount As Integer
Public Overridable Property TaskPct As Double
Public Overridable Property MilestonePct As Double
End Class
End Namespace
End Namespace
VB.NET ProjectDashRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dashboard/project HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FromDate: 0001-01-01,
ToDate: 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
}
},
Stats:
[
{
Key: String,
Label: String,
Value: 0,
PreviousValue: 0,
Unit: String
}
],
JobStatus:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
Throughput:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
CycleDistribution:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
Bottleneck:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
OverdueJobs:
[
{
ProjectName: String,
JobName: String,
ExpectedCompletionDate: String,
DaysOverdue: 0,
IsAtRisk: False
}
],
Rollup:
[
{
ProjectName: String,
StatusName: String,
JobCount: 0,
CompletedJobCount: 0,
TaskPct: 0,
MilestonePct: 0
}
]
}