| GET | /eaccounting/invoicedrafts |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
abstract class QueryBase
{
// @DataMember(Order=1)
int? Skip;
// @DataMember(Order=2)
int? Take;
// @DataMember(Order=3)
String? OrderBy;
// @DataMember(Order=4)
String? OrderByDesc;
// @DataMember(Order=5)
String? Include;
// @DataMember(Order=6)
String? Fields;
// @DataMember(Order=7)
Map<String,String?>? Meta;
QueryBase({this.Skip,this.Take,this.OrderBy,this.OrderByDesc,this.Include,this.Fields,this.Meta});
QueryBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Skip = json['Skip'];
Take = json['Take'];
OrderBy = json['OrderBy'];
OrderByDesc = json['OrderByDesc'];
Include = json['Include'];
Fields = json['Fields'];
Meta = JsonConverters.toStringMap(json['Meta']);
return this;
}
Map<String, dynamic> toJson() => {
'Skip': Skip,
'Take': Take,
'OrderBy': OrderBy,
'OrderByDesc': OrderByDesc,
'Include': Include,
'Fields': Fields,
'Meta': Meta
};
getTypeName() => "QueryBase";
TypeContext? context = _ctx;
}
abstract class QueryData<T> extends QueryBase
{
QueryData();
QueryData.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "QueryData<$T>";
TypeContext? context = _ctx;
}
enum GreenTechnologyType
{
None,
SolarCellInstallation,
ElectricEnergyStorageInstallation,
ElectricVehicleChargingPointInstallation,
}
class ContributionMargin implements IConvertible
{
int? Amount;
int? Percentage;
ContributionMargin({this.Amount,this.Percentage});
ContributionMargin.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Amount = json['Amount'];
Percentage = json['Percentage'];
return this;
}
Map<String, dynamic> toJson() => {
'Amount': Amount,
'Percentage': Percentage
};
getTypeName() => "ContributionMargin";
TypeContext? context = _ctx;
}
class InvoiceDraftLineQueryResponse implements IConvertible
{
String ArticleNumber = "";
String ArticleId = "";
bool? IsServiceArticle;
double AmountNoVat = 0;
double PercentVat = 0;
int? LineNumber;
bool IsTextRow;
String Text = "";
double? UnitPrice;
String UnitAbbreviation = "";
String UnitAbbreviationEnglish = "";
double? DiscountPercentage;
double? Quantity;
bool IsWorkCost;
bool IsVatFree;
String CostCenterItemId1 = "";
String CostCenterItemId2 = "";
String CostCenterItemId3 = "";
String UnitId = "";
String ProjectId = "";
int? WorkCostType;
double? WorkHours;
double? MaterialCosts;
GreenTechnologyType? GreenTechnologyType;
ContributionMargin ContributionMargin;
InvoiceDraftLineQueryResponse({this.ArticleNumber,this.ArticleId,this.IsServiceArticle,this.AmountNoVat,this.PercentVat,this.LineNumber,this.IsTextRow,this.Text,this.UnitPrice,this.UnitAbbreviation,this.UnitAbbreviationEnglish,this.DiscountPercentage,this.Quantity,this.IsWorkCost,this.IsVatFree,this.CostCenterItemId1,this.CostCenterItemId2,this.CostCenterItemId3,this.UnitId,this.ProjectId,this.WorkCostType,this.WorkHours,this.MaterialCosts,this.GreenTechnologyType,this.ContributionMargin});
InvoiceDraftLineQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ArticleNumber = json['ArticleNumber'];
ArticleId = json['ArticleId'];
IsServiceArticle = json['IsServiceArticle'];
AmountNoVat = JsonConverters.toDouble(json['AmountNoVat']);
PercentVat = JsonConverters.toDouble(json['PercentVat']);
LineNumber = json['LineNumber'];
IsTextRow = json['IsTextRow'];
Text = json['Text'];
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
UnitAbbreviation = json['UnitAbbreviation'];
UnitAbbreviationEnglish = json['UnitAbbreviationEnglish'];
DiscountPercentage = JsonConverters.toDouble(json['DiscountPercentage']);
Quantity = JsonConverters.toDouble(json['Quantity']);
IsWorkCost = json['IsWorkCost'];
IsVatFree = json['IsVatFree'];
CostCenterItemId1 = json['CostCenterItemId1'];
CostCenterItemId2 = json['CostCenterItemId2'];
CostCenterItemId3 = json['CostCenterItemId3'];
UnitId = json['UnitId'];
ProjectId = json['ProjectId'];
WorkCostType = json['WorkCostType'];
WorkHours = JsonConverters.toDouble(json['WorkHours']);
MaterialCosts = JsonConverters.toDouble(json['MaterialCosts']);
GreenTechnologyType = JsonConverters.fromJson(json['GreenTechnologyType'],'GreenTechnologyType',context!);
ContributionMargin = JsonConverters.fromJson(json['ContributionMargin'],'ContributionMargin',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ArticleNumber': ArticleNumber,
'ArticleId': ArticleId,
'IsServiceArticle': IsServiceArticle,
'AmountNoVat': AmountNoVat,
'PercentVat': PercentVat,
'LineNumber': LineNumber,
'IsTextRow': IsTextRow,
'Text': Text,
'UnitPrice': UnitPrice,
'UnitAbbreviation': UnitAbbreviation,
'UnitAbbreviationEnglish': UnitAbbreviationEnglish,
'DiscountPercentage': DiscountPercentage,
'Quantity': Quantity,
'IsWorkCost': IsWorkCost,
'IsVatFree': IsVatFree,
'CostCenterItemId1': CostCenterItemId1,
'CostCenterItemId2': CostCenterItemId2,
'CostCenterItemId3': CostCenterItemId3,
'UnitId': UnitId,
'ProjectId': ProjectId,
'WorkCostType': WorkCostType,
'WorkHours': WorkHours,
'MaterialCosts': MaterialCosts,
'GreenTechnologyType': JsonConverters.toJson(GreenTechnologyType,'GreenTechnologyType',context!),
'ContributionMargin': JsonConverters.toJson(ContributionMargin,'ContributionMargin',context!)
};
getTypeName() => "InvoiceDraftLineQueryResponse";
TypeContext? context = _ctx;
}
class Person implements IConvertible
{
String Ssn = "";
int Amount = 0;
Person({this.Ssn,this.Amount});
Person.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Ssn = json['Ssn'];
Amount = json['Amount'];
return this;
}
Map<String, dynamic> toJson() => {
'Ssn': Ssn,
'Amount': Amount
};
getTypeName() => "Person";
TypeContext? context = _ctx;
}
class EAccountingInvoiceAddress implements IConvertible
{
String CorporateIdentityNumber = "";
String InvoiceAddress1 = "";
String InvoiceAddress2 = "";
String InvoiceCity = "";
String InvoicePostalCode = "";
String InvoiceCountryCode = "";
EAccountingInvoiceAddress({this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode});
EAccountingInvoiceAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CorporateIdentityNumber = json['CorporateIdentityNumber'];
InvoiceAddress1 = json['InvoiceAddress1'];
InvoiceAddress2 = json['InvoiceAddress2'];
InvoiceCity = json['InvoiceCity'];
InvoicePostalCode = json['InvoicePostalCode'];
InvoiceCountryCode = json['InvoiceCountryCode'];
return this;
}
Map<String, dynamic> toJson() => {
'CorporateIdentityNumber': CorporateIdentityNumber,
'InvoiceAddress1': InvoiceAddress1,
'InvoiceAddress2': InvoiceAddress2,
'InvoiceCity': InvoiceCity,
'InvoicePostalCode': InvoicePostalCode,
'InvoiceCountryCode': InvoiceCountryCode
};
getTypeName() => "EAccountingInvoiceAddress";
TypeContext? context = _ctx;
}
class NoteQueryResponse implements IConvertible
{
String Id = "";
String Text = "";
DateTime CreatedUtc = DateTime(0);
DateTime ModifiedUtc = DateTime(0);
NoteQueryResponse({this.Id,this.Text,this.CreatedUtc,this.ModifiedUtc});
NoteQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Text = json['Text'];
CreatedUtc = JsonConverters.fromJson(json['CreatedUtc'],'DateTime',context!);
ModifiedUtc = JsonConverters.fromJson(json['ModifiedUtc'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Text': Text,
'CreatedUtc': JsonConverters.toJson(CreatedUtc,'DateTime',context!),
'ModifiedUtc': JsonConverters.toJson(ModifiedUtc,'DateTime',context!)
};
getTypeName() => "NoteQueryResponse";
TypeContext? context = _ctx;
}
class InvoiceDraftQueryResponse implements IConvertible
{
String InvoiceId = "";
DateTime? CreatedDate;
double? TotalAmount;
double? TotalVatAmount;
String CustomerId = "";
List<InvoiceDraftLineQueryResponse> Rows = [];
String InvoiceDate = "";
String DueDate = "";
DateTime? DeliveryDate;
List<Person> Persons = [];
String InvoiceCustomerName = "";
EAccountingInvoiceAddress InvoiceAddress;
bool CustomerIsPrivatePerson;
String CustomerNumber = "";
List<NoteQueryResponse> Notes = [];
List<String> NoteIds = [];
DateTime CreatedUtc = DateTime(0);
bool IncludesVat;
String PriceSign = "";
String? BookingId;
InvoiceDraftQueryResponse({this.InvoiceId,this.CreatedDate,this.TotalAmount,this.TotalVatAmount,this.CustomerId,this.Rows,this.InvoiceDate,this.DueDate,this.DeliveryDate,this.Persons,this.InvoiceCustomerName,this.InvoiceAddress,this.CustomerIsPrivatePerson,this.CustomerNumber,this.Notes,this.NoteIds,this.CreatedUtc,this.IncludesVat,this.PriceSign,this.BookingId});
InvoiceDraftQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
InvoiceId = json['InvoiceId'];
CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
TotalAmount = JsonConverters.toDouble(json['TotalAmount']);
TotalVatAmount = JsonConverters.toDouble(json['TotalVatAmount']);
CustomerId = json['CustomerId'];
Rows = JsonConverters.fromJson(json['Rows'],'List<InvoiceDraftLineQueryResponse>',context!);
InvoiceDate = json['InvoiceDate'];
DueDate = json['DueDate'];
DeliveryDate = JsonConverters.fromJson(json['DeliveryDate'],'DateTime',context!);
Persons = JsonConverters.fromJson(json['Persons'],'List<Person>',context!);
InvoiceCustomerName = json['InvoiceCustomerName'];
InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'EAccountingInvoiceAddress',context!);
CustomerIsPrivatePerson = json['CustomerIsPrivatePerson'];
CustomerNumber = json['CustomerNumber'];
Notes = JsonConverters.fromJson(json['Notes'],'List<NoteQueryResponse>',context!);
NoteIds = JsonConverters.fromJson(json['NoteIds'],'List<String>',context!);
CreatedUtc = JsonConverters.fromJson(json['CreatedUtc'],'DateTime',context!);
IncludesVat = json['IncludesVat'];
PriceSign = json['PriceSign'];
BookingId = json['BookingId'];
return this;
}
Map<String, dynamic> toJson() => {
'InvoiceId': InvoiceId,
'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
'TotalAmount': TotalAmount,
'TotalVatAmount': TotalVatAmount,
'CustomerId': CustomerId,
'Rows': JsonConverters.toJson(Rows,'List<InvoiceDraftLineQueryResponse>',context!),
'InvoiceDate': InvoiceDate,
'DueDate': DueDate,
'DeliveryDate': JsonConverters.toJson(DeliveryDate,'DateTime',context!),
'Persons': JsonConverters.toJson(Persons,'List<Person>',context!),
'InvoiceCustomerName': InvoiceCustomerName,
'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'EAccountingInvoiceAddress',context!),
'CustomerIsPrivatePerson': CustomerIsPrivatePerson,
'CustomerNumber': CustomerNumber,
'Notes': JsonConverters.toJson(Notes,'List<NoteQueryResponse>',context!),
'NoteIds': JsonConverters.toJson(NoteIds,'List<String>',context!),
'CreatedUtc': JsonConverters.toJson(CreatedUtc,'DateTime',context!),
'IncludesVat': IncludesVat,
'PriceSign': PriceSign,
'BookingId': BookingId
};
getTypeName() => "InvoiceDraftQueryResponse";
TypeContext? context = _ctx;
}
class EAccountingInvoiceDraftQuery extends QueryData<InvoiceDraftQueryResponse> implements ICompany, IConvertible
{
int? BookingId;
bool IncludeInvoiceLines;
bool IncludeInvoiceNotes;
String? CompanyId;
EAccountingInvoiceDraftQuery({this.BookingId,this.IncludeInvoiceLines,this.IncludeInvoiceNotes,this.CompanyId});
EAccountingInvoiceDraftQuery.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
BookingId = json['BookingId'];
IncludeInvoiceLines = json['IncludeInvoiceLines'];
IncludeInvoiceNotes = json['IncludeInvoiceNotes'];
CompanyId = json['CompanyId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'BookingId': BookingId,
'IncludeInvoiceLines': IncludeInvoiceLines,
'IncludeInvoiceNotes': IncludeInvoiceNotes,
'CompanyId': CompanyId
});
getTypeName() => "EAccountingInvoiceDraftQuery";
TypeContext? context = _ctx;
}
class AccessKeyTypeResponse implements IConvertible
{
int Id = 0;
String KeyType = "";
String Description = "";
AccessKeyTypeResponse({this.Id,this.KeyType,this.Description});
AccessKeyTypeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
KeyType = json['KeyType'];
Description = json['Description'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'KeyType': KeyType,
'Description': Description
};
getTypeName() => "AccessKeyTypeResponse";
TypeContext? context = _ctx;
}
// @DataContract
class QueryResponse<T> implements IConvertible
{
// @DataMember(Order=1)
int Offset = 0;
// @DataMember(Order=2)
int Total = 0;
// @DataMember(Order=3)
List<AccessKeyTypeResponse> Results = [];
// @DataMember(Order=4)
Map<String,String?>? Meta;
// @DataMember(Order=5)
ResponseStatus? ResponseStatus;
QueryResponse({this.Offset,this.Total,this.Results,this.Meta,this.ResponseStatus});
QueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Offset = json['Offset'];
Total = json['Total'];
Results = JsonConverters.fromJson(json['Results'],'List<AccessKeyTypeResponse>',context!);
Meta = JsonConverters.toStringMap(json['Meta']);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Offset': Offset,
'Total': Total,
'Results': JsonConverters.toJson(Results,'List<AccessKeyTypeResponse>',context!),
'Meta': Meta,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "QueryResponse<$T>";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bookmore.com', types: <String, TypeInfo> {
'GreenTechnologyType': TypeInfo(TypeOf.Enum, enumValues:GreenTechnologyType.values),
'ContributionMargin': TypeInfo(TypeOf.Class, create:() => ContributionMargin()),
'InvoiceDraftLineQueryResponse': TypeInfo(TypeOf.Class, create:() => InvoiceDraftLineQueryResponse()),
'Person': TypeInfo(TypeOf.Class, create:() => Person()),
'EAccountingInvoiceAddress': TypeInfo(TypeOf.Class, create:() => EAccountingInvoiceAddress()),
'NoteQueryResponse': TypeInfo(TypeOf.Class, create:() => NoteQueryResponse()),
'InvoiceDraftQueryResponse': TypeInfo(TypeOf.Class, create:() => InvoiceDraftQueryResponse()),
'List<InvoiceDraftLineQueryResponse>': TypeInfo(TypeOf.Class, create:() => <InvoiceDraftLineQueryResponse>[]),
'List<Person>': TypeInfo(TypeOf.Class, create:() => <Person>[]),
'List<NoteQueryResponse>': TypeInfo(TypeOf.Class, create:() => <NoteQueryResponse>[]),
'EAccountingInvoiceDraftQuery': TypeInfo(TypeOf.Class, create:() => EAccountingInvoiceDraftQuery()),
'List<InvoiceDraftQueryResponse>': TypeInfo(TypeOf.Class, create:() => <InvoiceDraftQueryResponse>[]),
'AccessKeyTypeResponse': TypeInfo(TypeOf.Class, create:() => AccessKeyTypeResponse()),
'List<AccessKeyTypeResponse>': TypeInfo(TypeOf.Class, create:() => <AccessKeyTypeResponse>[]),
});
Dart EAccountingInvoiceDraftQuery DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /eaccounting/invoicedrafts HTTP/1.1 Host: api.bookmore.com Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Offset":0,"Total":0,"Results":[{"CreatedDate":"0001-01-01T00:00:00","TotalAmount":0,"TotalVatAmount":0,"CustomerId":"String","Rows":[{"ArticleNumber":"String","ArticleId":"String","IsServiceArticle":false,"AmountNoVat":0,"PercentVat":0,"LineNumber":0,"IsTextRow":false,"Text":"String","UnitPrice":0,"UnitAbbreviation":"String","UnitAbbreviationEnglish":"String","DiscountPercentage":0,"Quantity":0,"IsWorkCost":false,"IsVatFree":false,"CostCenterItemId1":"String","CostCenterItemId2":"String","CostCenterItemId3":"String","UnitId":"String","ProjectId":"String","WorkCostType":0,"WorkHours":0,"MaterialCosts":0,"GreenTechnologyType":"None","ContributionMargin":{"Amount":0,"Percentage":0}}],"InvoiceDate":"String","DueDate":"String","DeliveryDate":"0001-01-01T00:00:00","Persons":[{"Ssn":"String","Amount":0}],"InvoiceCustomerName":"String","InvoiceAddress":{"CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"CustomerIsPrivatePerson":false,"CustomerNumber":"String","Notes":[{"Id":"String","Text":"String"}],"NoteIds":["String"],"IncludesVat":false,"PriceSign":"String","BookingId":"String"}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}