| POST | /api/dimensions | ||
|---|---|---|---|
| PUT | /api/dimensions/{DimensionId} |
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eros.Subtle.Canvara.WebAPIModel.ServiceModel
Imports Eros.Saguna.Common.WebAPIModel.Models
Namespace Global
Namespace Eros.Saguna.Common.WebAPIModel.Models
Public Partial Class DimensionModel
'''<Summary>
'''Id of the Dimension itself.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Id of the Dimension itself.", Name:="DimensionId")>
Public Overridable Property DimensionId As Guid
'''<Summary>
'''Dimension name.
'''</Summary>
<ApiMember(DataType:="string", Description:="Dimension name.", Name:="Name")>
Public Overridable Property Name As String
'''<Summary>
'''Dimension description.
'''</Summary>
<ApiMember(DataType:="string", Description:="Dimension description.", Name:="Description")>
Public Overridable Property Description As String
'''<Summary>
'''Dimension shortened name.
'''</Summary>
<ApiMember(DataType:="string", Description:="Dimension shortened name.", Name:="ShortName")>
Public Overridable Property ShortName As String
'''<Summary>
'''True if the values for the dimension should have colours associated with them.
'''</Summary>
<ApiMember(DataType:="bool", Description:="True if the values for the dimension should have colours associated with them.", Name:="HasTrafficLightForValues")>
Public Overridable Property HasTrafficLightForValues As Boolean
'''<Summary>
'''
'''</Summary>
<ApiMember(DataType:="bool", Description:="", Name:="HasImage")>
Public Overridable Property HasImage As Boolean
'''<Summary>
'''Owner Id of the dimension.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Owner Id of the dimension.", Name:="OwnerContactId")>
Public Overridable Property OwnerContactId As Guid
'''<Summary>
'''Record status of the dimension.
'''</Summary>
<ApiMember(DataType:="string", Description:="Record status of the dimension.", Name:="RecordStatus")>
Public Overridable Property RecordStatus As String
'''<Summary>
'''Dimension values for this dimension.
'''</Summary>
<ApiMember(DataType:="List<DimensionValueModel>", Description:="Dimension values for this dimension.", Name:="DimensionValues")>
Public Overridable Property DimensionValues As List(Of DimensionValueModel)
'''<Summary>
'''Id that links this dimension to an object.
'''</Summary>
<ApiMember(Description:="Id that links this dimension to an object.")>
Public Overridable Property ObjectConnectionId As Guid
End Class
Public Partial Class DimensionValueModel
'''<Summary>
'''Id of the dimension value.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Id of the dimension value.", Name:="DimensionValueId", ParameterType:="body")>
Public Overridable Property DimensionValueId As Guid
'''<Summary>
'''Dimension Id this value is for.
'''</Summary>
<ApiMember(Description:="Dimension Id this value is for.", ParameterType:="body")>
Public Overridable Property DimensionId As Guid
'''<Summary>
'''Name of the dimension value.
'''</Summary>
<ApiMember(Description:="Name of the dimension value.", ParameterType:="body")>
Public Overridable Property Name As String
'''<Summary>
'''Description of the dimension value.
'''</Summary>
<ApiMember(Description:="Description of the dimension value.", ParameterType:="body")>
Public Overridable Property Description As String
'''<Summary>
'''Short Name for the dimension value.
'''</Summary>
<ApiMember(Description:="Short Name for the dimension value.", ParameterType:="body")>
Public Overridable Property ShortName As String
'''<Summary>
'''Id of the colour associated.
'''</Summary>
<ApiMember(Description:="Id of the colour associated.", ParameterType:="body")>
Public Overridable Property TrafficLightId As Guid
'''<Summary>
'''Colour associated with the dimension value.
'''</Summary>
<ApiMember(Description:="Colour associated with the dimension value.", ParameterType:="body")>
Public Overridable Property TrafficLightColour As String
'''<Summary>
'''Id that links this dimension value to an object.
'''</Summary>
<ApiMember(Description:="Id that links this dimension value to an object.", ParameterType:="body")>
Public Overridable Property ObjectConnectionId As Guid
'''<Summary>
'''Owner Id of the dimension value.
'''</Summary>
<ApiMember(Description:="Owner Id of the dimension value.", ParameterType:="body")>
Public Overridable Property OwnerContactId As Guid
'''<Summary>
'''Record status of the dimension value.
'''</Summary>
<ApiMember(Description:="Record status of the dimension value.", ParameterType:="body")>
Public Overridable Property RecordStatus As String
End Class
End Namespace
Namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel
'''<Summary>
'''Add or update a dimensions details.
'''</Summary>
<Api(Description:="Add or update a dimensions details.")>
Public Partial Class SaveDimension
'''<Summary>
'''Details of the dimension to be added or updated.
'''</Summary>
<ApiMember(DataType:="DimensionModel", Description:="Details of the dimension to be added or updated.", IsRequired:=true, Name:="Dimension")>
Public Overridable Property Dimension As DimensionModel
'''<Summary>
'''Id of the dimension.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Id of the dimension.", IsRequired:=true, Name:="DimensionId")>
Public Overridable Property DimensionId As Guid
End Class
<ApiResponse(Description:="Success of the create/update of the dimension")>
Public Partial Class SaveDimensionResponse
'''<Summary>
'''Id of the Dimension created.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Id of the Dimension created.", Name:="DimensionId", ParameterType:="query")>
Public Overridable Property DimensionId As Guid
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
End Namespace
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 /api/dimensions HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Dimension:
{
Name: String,
Description: String,
ShortName: String,
HasTrafficLightForValues: False,
HasImage: False,
RecordStatus: String,
DimensionValues:
[
{
Name: String,
Description: String,
ShortName: String,
TrafficLightColour: String,
RecordStatus: String
}
]
}
}
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
}
}
}