Trendsic Platform Service

<back to all web services

MarkupPageRequest

Requires Authentication
The following routes are available for this service:
GET,PUT,OPTIONS/v1/markup/{AttachmentId}/{VersionNo}/{PageIndex}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class DocumentMarkupLayer implements IConvertible
{
    int? DocumentMarkupID;
    String? AttachmentId;
    int? VersionNo;
    int? PageIndex;
    String? AuthorUserId;
    String? AuthorName;
    String? LayerJson;
    int? ShapeCount;
    bool? IsPublished;
    DateTime? CreatedAt;
    DateTime? UpdatedAt;
    bool? IsMine;

    DocumentMarkupLayer({this.DocumentMarkupID,this.AttachmentId,this.VersionNo,this.PageIndex,this.AuthorUserId,this.AuthorName,this.LayerJson,this.ShapeCount,this.IsPublished,this.CreatedAt,this.UpdatedAt,this.IsMine});
    DocumentMarkupLayer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DocumentMarkupID = json['DocumentMarkupID'];
        AttachmentId = json['AttachmentId'];
        VersionNo = json['VersionNo'];
        PageIndex = json['PageIndex'];
        AuthorUserId = json['AuthorUserId'];
        AuthorName = json['AuthorName'];
        LayerJson = json['LayerJson'];
        ShapeCount = json['ShapeCount'];
        IsPublished = json['IsPublished'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
        IsMine = json['IsMine'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DocumentMarkupID': DocumentMarkupID,
        'AttachmentId': AttachmentId,
        'VersionNo': VersionNo,
        'PageIndex': PageIndex,
        'AuthorUserId': AuthorUserId,
        'AuthorName': AuthorName,
        'LayerJson': LayerJson,
        'ShapeCount': ShapeCount,
        'IsPublished': IsPublished,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
        'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!),
        'IsMine': IsMine
    };

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

class DocumentMarkupLink implements IConvertible
{
    int? DocumentMarkupLinkID;
    String? AttachmentId;
    int? VersionNo;
    int? PageIndex;
    String? ShapeId;
    String? EntityType;
    int? EntityID;
    String? EntityNo;
    String? CreatedBy;
    DateTime? CreatedAt;

    DocumentMarkupLink({this.DocumentMarkupLinkID,this.AttachmentId,this.VersionNo,this.PageIndex,this.ShapeId,this.EntityType,this.EntityID,this.EntityNo,this.CreatedBy,this.CreatedAt});
    DocumentMarkupLink.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DocumentMarkupLinkID = json['DocumentMarkupLinkID'];
        AttachmentId = json['AttachmentId'];
        VersionNo = json['VersionNo'];
        PageIndex = json['PageIndex'];
        ShapeId = json['ShapeId'];
        EntityType = json['EntityType'];
        EntityID = json['EntityID'];
        EntityNo = json['EntityNo'];
        CreatedBy = json['CreatedBy'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DocumentMarkupLinkID': DocumentMarkupLinkID,
        'AttachmentId': AttachmentId,
        'VersionNo': VersionNo,
        'PageIndex': PageIndex,
        'ShapeId': ShapeId,
        'EntityType': EntityType,
        'EntityID': EntityID,
        'EntityNo': EntityNo,
        'CreatedBy': CreatedBy,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!)
    };

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

class MarkupPageResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    String? AttachmentId;
    int? VersionNo;
    int? PageIndex;
    List<DocumentMarkupLayer>? Layers = [];
    List<DocumentMarkupLink>? Links = [];
    DocumentMarkupLayer? Mine;
    bool? CanCreatePunch;
    bool? CanCreateRfi;
    int? ProjectID;

    MarkupPageResponse({this.ResponseStatus,this.AttachmentId,this.VersionNo,this.PageIndex,this.Layers,this.Links,this.Mine,this.CanCreatePunch,this.CanCreateRfi,this.ProjectID});
    MarkupPageResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        AttachmentId = json['AttachmentId'];
        VersionNo = json['VersionNo'];
        PageIndex = json['PageIndex'];
        Layers = JsonConverters.fromJson(json['Layers'],'List<DocumentMarkupLayer>',context!);
        Links = JsonConverters.fromJson(json['Links'],'List<DocumentMarkupLink>',context!);
        Mine = JsonConverters.fromJson(json['Mine'],'DocumentMarkupLayer',context!);
        CanCreatePunch = json['CanCreatePunch'];
        CanCreateRfi = json['CanCreateRfi'];
        ProjectID = json['ProjectID'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'AttachmentId': AttachmentId,
        'VersionNo': VersionNo,
        'PageIndex': PageIndex,
        'Layers': JsonConverters.toJson(Layers,'List<DocumentMarkupLayer>',context!),
        'Links': JsonConverters.toJson(Links,'List<DocumentMarkupLink>',context!),
        'Mine': JsonConverters.toJson(Mine,'DocumentMarkupLayer',context!),
        'CanCreatePunch': CanCreatePunch,
        'CanCreateRfi': CanCreateRfi,
        'ProjectID': ProjectID
    };

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

class MarkupPageRequest implements IConvertible
{
    String? AttachmentId;
    int? VersionNo;
    int? PageIndex;
    String? LayerJson;

    MarkupPageRequest({this.AttachmentId,this.VersionNo,this.PageIndex,this.LayerJson});
    MarkupPageRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AttachmentId = json['AttachmentId'];
        VersionNo = json['VersionNo'];
        PageIndex = json['PageIndex'];
        LayerJson = json['LayerJson'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AttachmentId': AttachmentId,
        'VersionNo': VersionNo,
        'PageIndex': PageIndex,
        'LayerJson': LayerJson
    };

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

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

Dart MarkupPageRequest DTOs

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

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /v1/markup/{AttachmentId}/{VersionNo}/{PageIndex} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"AttachmentId":"00000000000000000000000000000000","VersionNo":0,"PageIndex":0,"LayerJson":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"AttachmentId":"00000000000000000000000000000000","VersionNo":0,"PageIndex":0,"Layers":[{"DocumentMarkupID":0,"AttachmentId":"00000000000000000000000000000000","VersionNo":0,"PageIndex":0,"AuthorUserId":"String","AuthorName":"String","LayerJson":"String","ShapeCount":0,"IsPublished":false,"CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000","IsMine":false}],"Links":[{"DocumentMarkupLinkID":0,"AttachmentId":"00000000000000000000000000000000","VersionNo":0,"PageIndex":0,"ShapeId":"String","EntityType":"String","EntityID":0,"EntityNo":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000"}],"Mine":{"DocumentMarkupID":0,"AttachmentId":"00000000000000000000000000000000","VersionNo":0,"PageIndex":0,"AuthorUserId":"String","AuthorName":"String","LayerJson":"String","ShapeCount":0,"IsPublished":false,"CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000","IsMine":false},"CanCreatePunch":false,"CanCreateRfi":false,"ProjectID":0}