Trendsic Platform Service

<back to all web services

PayAppG702Request

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/projects/{ProjectID}/pay-apps/{PeriodNumber}/g702
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class DocField implements IConvertible
{
    String? Label;
    String? Value;
    String? Ref;
    bool? Emphasis;

    DocField({this.Label,this.Value,this.Ref,this.Emphasis});
    DocField.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Label = json['Label'];
        Value = json['Value'];
        Ref = json['Ref'];
        Emphasis = json['Emphasis'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Label': Label,
        'Value': Value,
        'Ref': Ref,
        'Emphasis': Emphasis
    };

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

class DocColumn implements IConvertible
{
    String? Key;
    String? Label;
    String? Align;
    int? Width;

    DocColumn({this.Key,this.Label,this.Align,this.Width});
    DocColumn.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Key = json['Key'];
        Label = json['Label'];
        Align = json['Align'];
        Width = json['Width'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Key': Key,
        'Label': Label,
        'Align': Align,
        'Width': Width
    };

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

class DocTable implements IConvertible
{
    String? Caption;
    List<DocColumn>? Columns = [];
    List<List<String>>? Rows = [];
    List<List<String>>? Footer = [];

    DocTable({this.Caption,this.Columns,this.Rows,this.Footer});
    DocTable.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Caption = json['Caption'];
        Columns = JsonConverters.fromJson(json['Columns'],'List<DocColumn>',context!);
        Rows = JsonConverters.fromJson(json['Rows'],'List<List<String>>',context!);
        Footer = JsonConverters.fromJson(json['Footer'],'List<List<String>>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Caption': Caption,
        'Columns': JsonConverters.toJson(Columns,'List<DocColumn>',context!),
        'Rows': JsonConverters.toJson(Rows,'List<List<String>>',context!),
        'Footer': JsonConverters.toJson(Footer,'List<List<String>>',context!)
    };

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

class DocBlock implements IConvertible
{
    String? Type;
    String? Text;
    int? Level;
    List<DocField>? Fields = [];
    int? Columns;
    DocTable? Table;
    List<String>? Signatures = [];

    DocBlock({this.Type,this.Text,this.Level,this.Fields,this.Columns,this.Table,this.Signatures});
    DocBlock.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Type = json['Type'];
        Text = json['Text'];
        Level = json['Level'];
        Fields = JsonConverters.fromJson(json['Fields'],'List<DocField>',context!);
        Columns = json['Columns'];
        Table = JsonConverters.fromJson(json['Table'],'DocTable',context!);
        Signatures = JsonConverters.fromJson(json['Signatures'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Type': Type,
        'Text': Text,
        'Level': Level,
        'Fields': JsonConverters.toJson(Fields,'List<DocField>',context!),
        'Columns': Columns,
        'Table': JsonConverters.toJson(Table,'DocTable',context!),
        'Signatures': JsonConverters.toJson(Signatures,'List<String>',context!)
    };

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

class DocIssue implements IConvertible
{
    String? Severity;
    String? Code;
    String? Message;

    DocIssue({this.Severity,this.Code,this.Message});
    DocIssue.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Severity': Severity,
        'Code': Code,
        'Message': Message
    };

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

class PrintDocument implements IConvertible
{
    String? Kind;
    String? Title;
    String? Subtitle;
    String? FileName;
    bool? Landscape;
    DateTime? GeneratedAtUtc;
    String? GeneratedBy;
    List<DocField>? Meta = [];
    List<DocBlock>? Blocks = [];
    List<DocIssue>? Issues = [];
    bool? CanPrint;

    PrintDocument({this.Kind,this.Title,this.Subtitle,this.FileName,this.Landscape,this.GeneratedAtUtc,this.GeneratedBy,this.Meta,this.Blocks,this.Issues,this.CanPrint});
    PrintDocument.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Kind = json['Kind'];
        Title = json['Title'];
        Subtitle = json['Subtitle'];
        FileName = json['FileName'];
        Landscape = json['Landscape'];
        GeneratedAtUtc = JsonConverters.fromJson(json['GeneratedAtUtc'],'DateTime',context!);
        GeneratedBy = json['GeneratedBy'];
        Meta = JsonConverters.fromJson(json['Meta'],'List<DocField>',context!);
        Blocks = JsonConverters.fromJson(json['Blocks'],'List<DocBlock>',context!);
        Issues = JsonConverters.fromJson(json['Issues'],'List<DocIssue>',context!);
        CanPrint = json['CanPrint'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Kind': Kind,
        'Title': Title,
        'Subtitle': Subtitle,
        'FileName': FileName,
        'Landscape': Landscape,
        'GeneratedAtUtc': JsonConverters.toJson(GeneratedAtUtc,'DateTime',context!),
        'GeneratedBy': GeneratedBy,
        'Meta': JsonConverters.toJson(Meta,'List<DocField>',context!),
        'Blocks': JsonConverters.toJson(Blocks,'List<DocBlock>',context!),
        'Issues': JsonConverters.toJson(Issues,'List<DocIssue>',context!),
        'CanPrint': CanPrint
    };

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

class PrintableResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    PrintDocument? Document;

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

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

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

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

class PayAppG702Request implements IConvertible
{
    int? ProjectID;
    int? PeriodNumber;

    PayAppG702Request({this.ProjectID,this.PeriodNumber});
    PayAppG702Request.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'DocField': TypeInfo(TypeOf.Class, create:() => DocField()),
    'DocColumn': TypeInfo(TypeOf.Class, create:() => DocColumn()),
    'DocTable': TypeInfo(TypeOf.Class, create:() => DocTable()),
    'List<DocColumn>': TypeInfo(TypeOf.Class, create:() => <DocColumn>[]),
    'List<List<String>>': TypeInfo(TypeOf.Class, create:() => <List<String>>[]),
    'DocBlock': TypeInfo(TypeOf.Class, create:() => DocBlock()),
    'List<DocField>': TypeInfo(TypeOf.Class, create:() => <DocField>[]),
    'DocIssue': TypeInfo(TypeOf.Class, create:() => DocIssue()),
    'PrintDocument': TypeInfo(TypeOf.Class, create:() => PrintDocument()),
    'List<DocBlock>': TypeInfo(TypeOf.Class, create:() => <DocBlock>[]),
    'List<DocIssue>': TypeInfo(TypeOf.Class, create:() => <DocIssue>[]),
    'PrintableResponse': TypeInfo(TypeOf.Class, create:() => PrintableResponse()),
    'PayAppG702Request': TypeInfo(TypeOf.Class, create:() => PayAppG702Request()),
});

Dart PayAppG702Request 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/projects/{ProjectID}/pay-apps/{PeriodNumber}/g702 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
		}
	},
	Document: 
	{
		Kind: String,
		Title: String,
		Subtitle: String,
		FileName: String,
		Landscape: False,
		GeneratedAtUtc: 0001-01-01,
		GeneratedBy: String,
		Meta: 
		[
			{
				Label: String,
				Value: String,
				Ref: String,
				Emphasis: False
			}
		],
		Blocks: 
		[
			{
				Type: String,
				Text: String,
				Level: 0,
				Fields: 
				[
					{
						Label: String,
						Value: String,
						Ref: String,
						Emphasis: False
					}
				],
				Columns: 0,
				Table: 
				{
					Caption: String,
					Columns: 
					[
						{
							Key: String,
							Label: String,
							Align: String,
							Width: 0
						}
					],
					Rows: 
					[
						[
							String
						]
					],
					Footer: 
					[
						[
							String
						]
					]
				},
				Signatures: 
				[
					String
				]
			}
		],
		Issues: 
		[
			{
				Severity: String,
				Code: String,
				Message: String
			}
		],
		CanPrint: True
	}
}