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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PortalAccount xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <CustomerName>String</CustomerName>
  <Invoices>
    <PortalAccountInvoice>
      <InvoiceDate>0001-01-01T00:00:00</InvoiceDate>
      <InvoiceNumber>String</InvoiceNumber>
      <InvoiceUID>00000000-0000-0000-0000-000000000000</InvoiceUID>
      <IsPaid>false</IsPaid>
      <ProjectName>String</ProjectName>
      <Total>0</Total>
    </PortalAccountInvoice>
  </Invoices>
  <Quotes>
    <PortalAccountQuote>
      <Name>String</Name>
      <ProjectName>String</ProjectName>
      <QuoteUID>00000000-0000-0000-0000-000000000000</QuoteUID>
      <Status>String</Status>
      <Total>0</Total>
    </PortalAccountQuote>
  </Quotes>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <Visits>
    <PortalAccountVisit>
      <ProjectName>String</ProjectName>
      <ServiceName>String</ServiceName>
      <VisitDate>0001-01-01T00:00:00</VisitDate>
    </PortalAccountVisit>
  </Visits>
</PortalAccount>