Trendsic Platform Service

<back to all web services

PinsForEntityRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/pins/{EntityType}/{EntityID}
GET,OPTIONS/v1/pins/{EntityType}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class SheetPin implements IConvertible
{
    int? SheetPinID;
    int? SheetID;
    String? EntityType;
    int? EntityID;
    String? EntityUID;
    double? X;
    double? Y;
    String? Label;
    String? CreatedBy;
    DateTime? CreatedAt;
    String? EntityNo;
    String? EntityTitle;
    String? EntityStatus;
    String? InspectionUID;
    String? SheetNumber;
    String? SheetTitle;
    int? PlanSetID;
    String? PlanSetUID;
    String? PlanSetName;

    SheetPin({this.SheetPinID,this.SheetID,this.EntityType,this.EntityID,this.EntityUID,this.X,this.Y,this.Label,this.CreatedBy,this.CreatedAt,this.EntityNo,this.EntityTitle,this.EntityStatus,this.InspectionUID,this.SheetNumber,this.SheetTitle,this.PlanSetID,this.PlanSetUID,this.PlanSetName});
    SheetPin.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SheetPinID = json['SheetPinID'];
        SheetID = json['SheetID'];
        EntityType = json['EntityType'];
        EntityID = json['EntityID'];
        EntityUID = json['EntityUID'];
        X = JsonConverters.toDouble(json['X']);
        Y = JsonConverters.toDouble(json['Y']);
        Label = json['Label'];
        CreatedBy = json['CreatedBy'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        EntityNo = json['EntityNo'];
        EntityTitle = json['EntityTitle'];
        EntityStatus = json['EntityStatus'];
        InspectionUID = json['InspectionUID'];
        SheetNumber = json['SheetNumber'];
        SheetTitle = json['SheetTitle'];
        PlanSetID = json['PlanSetID'];
        PlanSetUID = json['PlanSetUID'];
        PlanSetName = json['PlanSetName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SheetPinID': SheetPinID,
        'SheetID': SheetID,
        'EntityType': EntityType,
        'EntityID': EntityID,
        'EntityUID': EntityUID,
        'X': X,
        'Y': Y,
        'Label': Label,
        'CreatedBy': CreatedBy,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
        'EntityNo': EntityNo,
        'EntityTitle': EntityTitle,
        'EntityStatus': EntityStatus,
        'InspectionUID': InspectionUID,
        'SheetNumber': SheetNumber,
        'SheetTitle': SheetTitle,
        'PlanSetID': PlanSetID,
        'PlanSetUID': PlanSetUID,
        'PlanSetName': PlanSetName
    };

    getTypeName() => "SheetPin";
    TypeContext? context = _ctx;
}

class SheetPinListResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<SheetPin>? Pins = [];

    SheetPinListResponse({this.ResponseStatus,this.Pins});
    SheetPinListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Pins = JsonConverters.fromJson(json['Pins'],'List<SheetPin>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Pins': JsonConverters.toJson(Pins,'List<SheetPin>',context!)
    };

    getTypeName() => "SheetPinListResponse";
    TypeContext? context = _ctx;
}

class PinsForEntityRequest implements IConvertible
{
    String? EntityType;
    int? EntityID;
    String? EntityUID;

    PinsForEntityRequest({this.EntityType,this.EntityID,this.EntityUID});
    PinsForEntityRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        EntityType = json['EntityType'];
        EntityID = json['EntityID'];
        EntityUID = json['EntityUID'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'EntityType': EntityType,
        'EntityID': EntityID,
        'EntityUID': EntityUID
    };

    getTypeName() => "PinsForEntityRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'SheetPin': TypeInfo(TypeOf.Class, create:() => SheetPin()),
    'SheetPinListResponse': TypeInfo(TypeOf.Class, create:() => SheetPinListResponse()),
    'List<SheetPin>': TypeInfo(TypeOf.Class, create:() => <SheetPin>[]),
    'PinsForEntityRequest': TypeInfo(TypeOf.Class, create:() => PinsForEntityRequest()),
});

Dart PinsForEntityRequest 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.

GET /v1/pins/{EntityType}/{EntityID} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
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
		}
	},
	Pins: 
	[
		{
			SheetPinID: 0,
			SheetID: 0,
			EntityType: String,
			EntityID: 0,
			EntityUID: 00000000000000000000000000000000,
			X: 0,
			Y: 0,
			Label: String,
			CreatedBy: String,
			CreatedAt: 0001-01-01,
			EntityNo: String,
			EntityTitle: String,
			EntityStatus: String,
			InspectionUID: 00000000000000000000000000000000,
			SheetNumber: String,
			SheetTitle: String,
			PlanSetID: 0,
			PlanSetUID: 00000000000000000000000000000000,
			PlanSetName: String
		}
	]
}