POST | /financedetails/ |
---|
import 'package:servicestack/servicestack.dart';
class ReturnStatus implements IConvertible
{
String? ReturnCode;
String? Message;
ReturnStatus({this.ReturnCode,this.Message});
ReturnStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ReturnCode = json['ReturnCode'];
Message = json['Message'];
return this;
}
Map<String, dynamic> toJson() => {
'ReturnCode': ReturnCode,
'Message': Message
};
getTypeName() => "ReturnStatus";
TypeContext? context = _ctx;
}
class FinanceDetail implements IConvertible
{
String? ContractNumber;
DateTime? StartDate;
DateTime? EndDate;
String? Status;
DateTime? TerminationDate;
int? Term;
String? Product;
double? FinanceCharge;
double? AdvanceRental;
double? MonthlyInstalments;
double? ResidualValue;
double? Balloon;
double? APR;
FinanceDetail({this.ContractNumber,this.StartDate,this.EndDate,this.Status,this.TerminationDate,this.Term,this.Product,this.FinanceCharge,this.AdvanceRental,this.MonthlyInstalments,this.ResidualValue,this.Balloon,this.APR});
FinanceDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContractNumber = json['ContractNumber'];
StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
Status = json['Status'];
TerminationDate = JsonConverters.fromJson(json['TerminationDate'],'DateTime',context!);
Term = json['Term'];
Product = json['Product'];
FinanceCharge = JsonConverters.toDouble(json['FinanceCharge']);
AdvanceRental = JsonConverters.toDouble(json['AdvanceRental']);
MonthlyInstalments = JsonConverters.toDouble(json['MonthlyInstalments']);
ResidualValue = JsonConverters.toDouble(json['ResidualValue']);
Balloon = JsonConverters.toDouble(json['Balloon']);
APR = JsonConverters.toDouble(json['APR']);
return this;
}
Map<String, dynamic> toJson() => {
'ContractNumber': ContractNumber,
'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
'Status': Status,
'TerminationDate': JsonConverters.toJson(TerminationDate,'DateTime',context!),
'Term': Term,
'Product': Product,
'FinanceCharge': FinanceCharge,
'AdvanceRental': AdvanceRental,
'MonthlyInstalments': MonthlyInstalments,
'ResidualValue': ResidualValue,
'Balloon': Balloon,
'APR': APR
};
getTypeName() => "FinanceDetail";
TypeContext? context = _ctx;
}
class FinanceDetailsResponse implements IConvertible
{
ReturnStatus? Status;
int? NumberOfPages;
List<FinanceDetail>? FinanceDetails;
FinanceDetailsResponse({this.Status,this.NumberOfPages,this.FinanceDetails});
FinanceDetailsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Status = JsonConverters.fromJson(json['Status'],'ReturnStatus',context!);
NumberOfPages = json['NumberOfPages'];
FinanceDetails = JsonConverters.fromJson(json['FinanceDetails'],'List<FinanceDetail>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Status': JsonConverters.toJson(Status,'ReturnStatus',context!),
'NumberOfPages': NumberOfPages,
'FinanceDetails': JsonConverters.toJson(FinanceDetails,'List<FinanceDetail>',context!)
};
getTypeName() => "FinanceDetailsResponse";
TypeContext? context = _ctx;
}
class FinanceDetails implements IConvertible
{
String? CIAMId;
String? ChassisNumber;
int? ItemsPerPage;
int? PageNumber;
FinanceDetails({this.CIAMId,this.ChassisNumber,this.ItemsPerPage,this.PageNumber});
FinanceDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CIAMId = json['CIAMId'];
ChassisNumber = json['ChassisNumber'];
ItemsPerPage = json['ItemsPerPage'];
PageNumber = json['PageNumber'];
return this;
}
Map<String, dynamic> toJson() => {
'CIAMId': CIAMId,
'ChassisNumber': ChassisNumber,
'ItemsPerPage': ItemsPerPage,
'PageNumber': PageNumber
};
getTypeName() => "FinanceDetails";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'webservices.mbukdatabase.co.uk', types: <String, TypeInfo> {
'ReturnStatus': TypeInfo(TypeOf.Class, create:() => ReturnStatus()),
'FinanceDetail': TypeInfo(TypeOf.Class, create:() => FinanceDetail()),
'FinanceDetailsResponse': TypeInfo(TypeOf.Class, create:() => FinanceDetailsResponse()),
'List<FinanceDetail>': TypeInfo(TypeOf.Class, create:() => <FinanceDetail>[]),
'FinanceDetails': TypeInfo(TypeOf.Class, create:() => FinanceDetails()),
});
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 /financedetails/ HTTP/1.1
Host: webservices.mbukdatabase.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CIAMId: String,
ChassisNumber: String,
ItemsPerPage: 0,
PageNumber: 0
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Status: { ReturnCode: String, Message: String }, NumberOfPages: 0, FinanceDetails: [ { ContractNumber: String, StartDate: 0001-01-01, EndDate: 0001-01-01, Status: String, TerminationDate: 0001-01-01, Term: 0, Product: String, FinanceCharge: 0, AdvanceRental: 0, MonthlyInstalments: 0, ResidualValue: 0, Balloon: 0, APR: 0 } ] }