Trendsic Platform Service

<back to all web services

PortalAccountRequest

The following routes are available for this service:
GET,OPTIONS/v1/portal/account/{Token}
import 'package:servicestack/servicestack.dart';

class PortalAccountVisit implements IConvertible
{
    DateTime? VisitDate;
    String? ServiceName;
    String? ProjectName;

    PortalAccountVisit({this.VisitDate,this.ServiceName,this.ProjectName});
    PortalAccountVisit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        VisitDate = JsonConverters.fromJson(json['VisitDate'],'DateTime',context!);
        ServiceName = json['ServiceName'];
        ProjectName = json['ProjectName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'VisitDate': JsonConverters.toJson(VisitDate,'DateTime',context!),
        'ServiceName': ServiceName,
        'ProjectName': ProjectName
    };

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

class PortalAccountInvoice implements IConvertible
{
    String? InvoiceUID;
    String? InvoiceNumber;
    DateTime? InvoiceDate;
    double? Total;
    bool? IsPaid;
    String? ProjectName;

    PortalAccountInvoice({this.InvoiceUID,this.InvoiceNumber,this.InvoiceDate,this.Total,this.IsPaid,this.ProjectName});
    PortalAccountInvoice.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        InvoiceUID = json['InvoiceUID'];
        InvoiceNumber = json['InvoiceNumber'];
        InvoiceDate = JsonConverters.fromJson(json['InvoiceDate'],'DateTime',context!);
        Total = JsonConverters.toDouble(json['Total']);
        IsPaid = json['IsPaid'];
        ProjectName = json['ProjectName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'InvoiceUID': InvoiceUID,
        'InvoiceNumber': InvoiceNumber,
        'InvoiceDate': JsonConverters.toJson(InvoiceDate,'DateTime',context!),
        'Total': Total,
        'IsPaid': IsPaid,
        'ProjectName': ProjectName
    };

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

class PortalAccountQuote implements IConvertible
{
    String? QuoteUID;
    String? Name;
    double? Total;
    String? Status;
    String? ProjectName;

    PortalAccountQuote({this.QuoteUID,this.Name,this.Total,this.Status,this.ProjectName});
    PortalAccountQuote.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        QuoteUID = json['QuoteUID'];
        Name = json['Name'];
        Total = JsonConverters.toDouble(json['Total']);
        Status = json['Status'];
        ProjectName = json['ProjectName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'QuoteUID': QuoteUID,
        'Name': Name,
        'Total': Total,
        'Status': Status,
        'ProjectName': ProjectName
    };

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

class PortalAccount implements IConvertible
{
    String? CustomerName;
    List<PortalAccountVisit>? Visits = [];
    List<PortalAccountInvoice>? Invoices = [];
    List<PortalAccountQuote>? Quotes = [];
    ResponseStatus? ResponseStatus;

    PortalAccount({this.CustomerName,this.Visits,this.Invoices,this.Quotes,this.ResponseStatus});
    PortalAccount.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CustomerName = json['CustomerName'];
        Visits = JsonConverters.fromJson(json['Visits'],'List<PortalAccountVisit>',context!);
        Invoices = JsonConverters.fromJson(json['Invoices'],'List<PortalAccountInvoice>',context!);
        Quotes = JsonConverters.fromJson(json['Quotes'],'List<PortalAccountQuote>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CustomerName': CustomerName,
        'Visits': JsonConverters.toJson(Visits,'List<PortalAccountVisit>',context!),
        'Invoices': JsonConverters.toJson(Invoices,'List<PortalAccountInvoice>',context!),
        'Quotes': JsonConverters.toJson(Quotes,'List<PortalAccountQuote>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class PortalAccountRequest implements IConvertible
{
    String? Token;

    PortalAccountRequest({this.Token});
    PortalAccountRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Token': Token
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'PortalAccountVisit': TypeInfo(TypeOf.Class, create:() => PortalAccountVisit()),
    'PortalAccountInvoice': TypeInfo(TypeOf.Class, create:() => PortalAccountInvoice()),
    'PortalAccountQuote': TypeInfo(TypeOf.Class, create:() => PortalAccountQuote()),
    'PortalAccount': TypeInfo(TypeOf.Class, create:() => PortalAccount()),
    'List<PortalAccountVisit>': TypeInfo(TypeOf.Class, create:() => <PortalAccountVisit>[]),
    'List<PortalAccountInvoice>': TypeInfo(TypeOf.Class, create:() => <PortalAccountInvoice>[]),
    'List<PortalAccountQuote>': TypeInfo(TypeOf.Class, create:() => <PortalAccountQuote>[]),
    'PortalAccountRequest': TypeInfo(TypeOf.Class, create:() => PortalAccountRequest()),
});

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

GET /v1/portal/account/{Token} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"CustomerName":"String","Visits":[{"VisitDate":"0001-01-01T00:00:00.0000000","ServiceName":"String","ProjectName":"String"}],"Invoices":[{"InvoiceUID":"00000000000000000000000000000000","InvoiceNumber":"String","InvoiceDate":"0001-01-01T00:00:00.0000000","Total":0,"IsPaid":false,"ProjectName":"String"}],"Quotes":[{"QuoteUID":"00000000000000000000000000000000","Name":"String","Total":0,"Status":"String","ProjectName":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}