Platform API

<back to all web services

SaveDimension

Add or update a dimensions details.

Requires Authentication
The following routes are available for this service:
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

VB.NET SaveDimension DTOs

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

HTTP + 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
		}
	}
}