sfgboxapi

<back to all web services

RolesAutoQueryLookup

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports sfgboxapi.ServiceModel
Imports sfgboxapi.ServiceModel.Types

Namespace Global

    Namespace ServiceStack

        <DataContract>
        Public Partial Class QueryBase
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Skip As Nullable(Of Integer)

            <DataMember(Order:=2)>
            Public Overridable Property Take As Nullable(Of Integer)

            <DataMember(Order:=3)>
            Public Overridable Property OrderBy As String

            <DataMember(Order:=4)>
            Public Overridable Property OrderByDesc As String

            <DataMember(Order:=5)>
            Public Overridable Property Include As String

            <DataMember(Order:=6)>
            Public Overridable Property Fields As String

            <DataMember(Order:=7)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        Public Partial Class QueryDb(Of T)
            Inherits QueryBase
        End Class

        <DataContract>
        Public Partial Class QueryResponse(Of Tenants)
            Public Sub New()
                Results = New List(Of Tenants)
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property Offset As Integer

            <DataMember(Order:=2)>
            Public Overridable Property Total As Integer

            <DataMember(Order:=3)>
            Public Overridable Property Results As List(Of Tenants)

            <DataMember(Order:=4)>
            Public Overridable Property Meta As Dictionary(Of String, String)

            <DataMember(Order:=5)>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace

    Namespace sfgboxapi.ServiceModel

        Public Partial Class RolesAutoQueryLookup
            Inherits QueryDb(Of Roles)
        End Class
    End Namespace

    Namespace sfgboxapi.ServiceModel.Types

        Public Partial Class Roles
            <DataMember(Order:=1)>
            <Required>
            Public Overridable Property Id As Long

            <DataMember(Order:=2)>
            <Required>
            <References(GetType(Tenants))>
            Public Overridable Property TenantsId As Long

            <DataMember(Order:=3)>
            <Required>
            Public Overridable Property Name As String
        End Class

        Public Partial Class Tenants
            <DataMember(Order:=1)>
            <Required>
            Public Overridable Property Id As Long

            <DataMember(Order:=2)>
            <Required>
            <References(GetType(Zones))>
            Public Overridable Property MainZonesId As Long

            <DataMember(Order:=3)>
            Public Overridable Property IsPublic As Boolean
        End Class
    End Namespace
End Namespace

VB.NET RolesAutoQueryLookup 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 /jsv/reply/RolesAutoQueryLookup HTTP/1.1 
Host: api-stage.smartfarmertech.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	skip: 0,
	take: 0,
	orderBy: String,
	orderByDesc: String,
	include: String,
	fields: String,
	meta: 
	{
		String: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	offset: 0,
	total: 0,
	results: 
	[
		{
			id: 0,
			tenantsId: 0,
			name: String
		}
	],
	meta: 
	{
		String: String
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}