| POST,OPTIONS | /v1/projects/{ProjectID}/pay-apps/{PeriodNumber}/certify |
|---|
import 'package:servicestack/servicestack.dart';
class PayApplicationLine implements IConvertible
{
int? PayApplicationLineID;
int? PayApplicationID;
String? CostCode;
String? Description;
double? ScheduledValue;
double? FromPreviousPct;
double? ThisPeriodPct;
double? StoredMaterials;
bool? IsChangeOrder;
int? ChangeOrderID;
int? SortOrder;
PayApplicationLine({this.PayApplicationLineID,this.PayApplicationID,this.CostCode,this.Description,this.ScheduledValue,this.FromPreviousPct,this.ThisPeriodPct,this.StoredMaterials,this.IsChangeOrder,this.ChangeOrderID,this.SortOrder});
PayApplicationLine.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PayApplicationLineID = json['PayApplicationLineID'];
PayApplicationID = json['PayApplicationID'];
CostCode = json['CostCode'];
Description = json['Description'];
ScheduledValue = JsonConverters.toDouble(json['ScheduledValue']);
FromPreviousPct = JsonConverters.toDouble(json['FromPreviousPct']);
ThisPeriodPct = JsonConverters.toDouble(json['ThisPeriodPct']);
StoredMaterials = JsonConverters.toDouble(json['StoredMaterials']);
IsChangeOrder = json['IsChangeOrder'];
ChangeOrderID = json['ChangeOrderID'];
SortOrder = json['SortOrder'];
return this;
}
Map<String, dynamic> toJson() => {
'PayApplicationLineID': PayApplicationLineID,
'PayApplicationID': PayApplicationID,
'CostCode': CostCode,
'Description': Description,
'ScheduledValue': ScheduledValue,
'FromPreviousPct': FromPreviousPct,
'ThisPeriodPct': ThisPeriodPct,
'StoredMaterials': StoredMaterials,
'IsChangeOrder': IsChangeOrder,
'ChangeOrderID': ChangeOrderID,
'SortOrder': SortOrder
};
getTypeName() => "PayApplicationLine";
TypeContext? context = _ctx;
}
class PayApplication implements IConvertible
{
int? PayApplicationID;
String? PayApplicationUID;
int? ProjectID;
int? PeriodNumber;
DateTime? PeriodStart;
DateTime? PeriodEnd;
String? Status;
String? BillingTemplate;
double? RetainagePct;
double? OriginalContractSum;
double? NetChangeByCO;
double? ContractSumToDate;
double? CompletedStoredToDate;
double? RetainageAmount;
double? EarnedLessRetainage;
double? LessPreviousCertificates;
double? CurrentPaymentDue;
double? BalanceToFinish;
int? InvoiceID;
DateTime? CertifiedAt;
String? CertifiedBy;
String? CreatedBy;
DateTime? CreatedAt;
DateTime? UpdatedAt;
List<PayApplicationLine>? Lines = [];
PayApplication({this.PayApplicationID,this.PayApplicationUID,this.ProjectID,this.PeriodNumber,this.PeriodStart,this.PeriodEnd,this.Status,this.BillingTemplate,this.RetainagePct,this.OriginalContractSum,this.NetChangeByCO,this.ContractSumToDate,this.CompletedStoredToDate,this.RetainageAmount,this.EarnedLessRetainage,this.LessPreviousCertificates,this.CurrentPaymentDue,this.BalanceToFinish,this.InvoiceID,this.CertifiedAt,this.CertifiedBy,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.Lines});
PayApplication.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PayApplicationID = json['PayApplicationID'];
PayApplicationUID = json['PayApplicationUID'];
ProjectID = json['ProjectID'];
PeriodNumber = json['PeriodNumber'];
PeriodStart = JsonConverters.fromJson(json['PeriodStart'],'DateTime',context!);
PeriodEnd = JsonConverters.fromJson(json['PeriodEnd'],'DateTime',context!);
Status = json['Status'];
BillingTemplate = json['BillingTemplate'];
RetainagePct = JsonConverters.toDouble(json['RetainagePct']);
OriginalContractSum = JsonConverters.toDouble(json['OriginalContractSum']);
NetChangeByCO = JsonConverters.toDouble(json['NetChangeByCO']);
ContractSumToDate = JsonConverters.toDouble(json['ContractSumToDate']);
CompletedStoredToDate = JsonConverters.toDouble(json['CompletedStoredToDate']);
RetainageAmount = JsonConverters.toDouble(json['RetainageAmount']);
EarnedLessRetainage = JsonConverters.toDouble(json['EarnedLessRetainage']);
LessPreviousCertificates = JsonConverters.toDouble(json['LessPreviousCertificates']);
CurrentPaymentDue = JsonConverters.toDouble(json['CurrentPaymentDue']);
BalanceToFinish = JsonConverters.toDouble(json['BalanceToFinish']);
InvoiceID = json['InvoiceID'];
CertifiedAt = JsonConverters.fromJson(json['CertifiedAt'],'DateTime',context!);
CertifiedBy = json['CertifiedBy'];
CreatedBy = json['CreatedBy'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
Lines = JsonConverters.fromJson(json['Lines'],'List<PayApplicationLine>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PayApplicationID': PayApplicationID,
'PayApplicationUID': PayApplicationUID,
'ProjectID': ProjectID,
'PeriodNumber': PeriodNumber,
'PeriodStart': JsonConverters.toJson(PeriodStart,'DateTime',context!),
'PeriodEnd': JsonConverters.toJson(PeriodEnd,'DateTime',context!),
'Status': Status,
'BillingTemplate': BillingTemplate,
'RetainagePct': RetainagePct,
'OriginalContractSum': OriginalContractSum,
'NetChangeByCO': NetChangeByCO,
'ContractSumToDate': ContractSumToDate,
'CompletedStoredToDate': CompletedStoredToDate,
'RetainageAmount': RetainageAmount,
'EarnedLessRetainage': EarnedLessRetainage,
'LessPreviousCertificates': LessPreviousCertificates,
'CurrentPaymentDue': CurrentPaymentDue,
'BalanceToFinish': BalanceToFinish,
'InvoiceID': InvoiceID,
'CertifiedAt': JsonConverters.toJson(CertifiedAt,'DateTime',context!),
'CertifiedBy': CertifiedBy,
'CreatedBy': CreatedBy,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!),
'Lines': JsonConverters.toJson(Lines,'List<PayApplicationLine>',context!)
};
getTypeName() => "PayApplication";
TypeContext? context = _ctx;
}
class PayApplicationResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
PayApplication? Application;
PayApplicationResponse({this.ResponseStatus,this.Application});
PayApplicationResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Application = JsonConverters.fromJson(json['Application'],'PayApplication',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Application': JsonConverters.toJson(Application,'PayApplication',context!)
};
getTypeName() => "PayApplicationResponse";
TypeContext? context = _ctx;
}
class PayApplicationCertifyRequest implements IConvertible
{
int? ProjectID;
int? PeriodNumber;
PayApplicationCertifyRequest({this.ProjectID,this.PeriodNumber});
PayApplicationCertifyRequest.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() => "PayApplicationCertifyRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'PayApplicationLine': TypeInfo(TypeOf.Class, create:() => PayApplicationLine()),
'PayApplication': TypeInfo(TypeOf.Class, create:() => PayApplication()),
'List<PayApplicationLine>': TypeInfo(TypeOf.Class, create:() => <PayApplicationLine>[]),
'PayApplicationResponse': TypeInfo(TypeOf.Class, create:() => PayApplicationResponse()),
'PayApplicationCertifyRequest': TypeInfo(TypeOf.Class, create:() => PayApplicationCertifyRequest()),
});
Dart PayApplicationCertifyRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/projects/{ProjectID}/pay-apps/{PeriodNumber}/certify HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectID: 0,
PeriodNumber: 0
}
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
}
},
Application:
{
PayApplicationID: 0,
PayApplicationUID: 00000000000000000000000000000000,
ProjectID: 0,
PeriodNumber: 0,
PeriodStart: 0001-01-01,
PeriodEnd: 0001-01-01,
Status: String,
BillingTemplate: String,
RetainagePct: 0,
OriginalContractSum: 0,
NetChangeByCO: 0,
ContractSumToDate: 0,
CompletedStoredToDate: 0,
RetainageAmount: 0,
EarnedLessRetainage: 0,
LessPreviousCertificates: 0,
CurrentPaymentDue: 0,
BalanceToFinish: 0,
InvoiceID: 0,
CertifiedAt: 0001-01-01,
CertifiedBy: String,
CreatedBy: String,
CreatedAt: 0001-01-01,
UpdatedAt: 0001-01-01,
Lines:
[
{
PayApplicationLineID: 0,
PayApplicationID: 0,
CostCode: String,
Description: String,
ScheduledValue: 0,
FromPreviousPct: 0,
ThisPeriodPct: 0,
StoredMaterials: 0,
IsChangeOrder: False,
ChangeOrderID: 0,
SortOrder: 0
}
]
}
}