POST, GET | /api/GetContractDetails |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class BaseRequest implements IConvertible
{
/**
* This is your AIM API Key provided by Tri-Tech
*/
// @DataMember
// @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
String? ApiKey;
// @DataMember
// @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
String? OAuthToken;
BaseRequest({this.ApiKey,this.OAuthToken});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
OAuthToken = json['OAuthToken'];
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'OAuthToken': OAuthToken
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
String? Token;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
String? DeviceId;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
String? AppId;
BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Token = json['Token'];
DeviceId = json['DeviceId'];
AppId = json['AppId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Token': Token,
'DeviceId': DeviceId,
'AppId': AppId
});
getTypeName() => "BaseSecureRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponseResult implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
String? StatusCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
String? Login;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
String? ErrorCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
String? ErrorDisplayText;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
String? ErrorMessage;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
String? DomainName;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
String? IpAddress;
BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StatusCode = json['StatusCode'];
Login = json['Login'];
ErrorCode = json['ErrorCode'];
ErrorDisplayText = json['ErrorDisplayText'];
ErrorMessage = json['ErrorMessage'];
DomainName = json['DomainName'];
IpAddress = json['IpAddress'];
return this;
}
Map<String, dynamic> toJson() => {
'StatusCode': StatusCode,
'Login': Login,
'ErrorCode': ErrorCode,
'ErrorDisplayText': ErrorDisplayText,
'ErrorMessage': ErrorMessage,
'DomainName': DomainName,
'IpAddress': IpAddress
};
getTypeName() => "BaseResponseResult";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponse implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
BaseResponseResult? Status;
BaseResponse({this.Status});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Status = JsonConverters.fromJson(json['Status'],'BaseResponseResult',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
// @DataContract
class InventoryGeneric implements IConvertible
{
// @DataMember
String? Model;
// @DataMember
String? Item;
// @DataMember
String? Sku;
// @DataMember
String? Serial;
// @DataMember
String? Desc;
// @DataMember
String? Mfg;
InventoryGeneric({this.Model,this.Item,this.Sku,this.Serial,this.Desc,this.Mfg});
InventoryGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Model = json['Model'];
Item = json['Item'];
Sku = json['Sku'];
Serial = json['Serial'];
Desc = json['Desc'];
Mfg = json['Mfg'];
return this;
}
Map<String, dynamic> toJson() => {
'Model': Model,
'Item': Item,
'Sku': Sku,
'Serial': Serial,
'Desc': Desc,
'Mfg': Mfg
};
getTypeName() => "InventoryGeneric";
TypeContext? context = _ctx;
}
// @DataContract
class PaymentGeneric implements IConvertible
{
// @DataMember
DateTime? Date;
// @DataMember
double? Amount;
// @DataMember
String? Ref;
PaymentGeneric({this.Date,this.Amount,this.Ref});
PaymentGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Date = JsonConverters.fromJson(json['Date'],'DateTime',context!);
Amount = JsonConverters.toDouble(json['Amount']);
Ref = json['Ref'];
return this;
}
Map<String, dynamic> toJson() => {
'Date': JsonConverters.toJson(Date,'DateTime',context!),
'Amount': Amount,
'Ref': Ref
};
getTypeName() => "PaymentGeneric";
TypeContext? context = _ctx;
}
// @DataContract
class GetContractDetailsResponse extends BaseResponse implements IConvertible
{
// @DataMember
String? AccountSub;
// @DataMember
DateTime? NextDueDate;
// @DataMember
double? PaymentAmount;
// @DataMember
double? PastDueAmount;
// @DataMember
double? LateCharges;
// @DataMember
double? OtherCharges;
// @DataMember
double? TotalDue;
// @DataMember
double? AccumulatedCredit;
// @DataMember
String? StudentName;
// @DataMember
String? SchoolName;
// @DataMember
String? Topic;
// @DataMember
List<InventoryGeneric>? Inventory;
// @DataMember
List<PaymentGeneric>? Payments;
// @DataMember
double? PaymentAmt;
// @DataMember
double? PastDueAmt;
// @DataMember
double? CurrentBalance;
// @DataMember
double? TotalPayoff;
// @DataMember
double? DiscountedPayoff;
// @DataMember
DateTime? PayoffDate;
GetContractDetailsResponse({this.AccountSub,this.NextDueDate,this.PaymentAmount,this.PastDueAmount,this.LateCharges,this.OtherCharges,this.TotalDue,this.AccumulatedCredit,this.StudentName,this.SchoolName,this.Topic,this.Inventory,this.Payments,this.PaymentAmt,this.PastDueAmt,this.CurrentBalance,this.TotalPayoff,this.DiscountedPayoff,this.PayoffDate});
GetContractDetailsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
AccountSub = json['AccountSub'];
NextDueDate = JsonConverters.fromJson(json['NextDueDate'],'DateTime',context!);
PaymentAmount = JsonConverters.toDouble(json['PaymentAmount']);
PastDueAmount = JsonConverters.toDouble(json['PastDueAmount']);
LateCharges = JsonConverters.toDouble(json['LateCharges']);
OtherCharges = JsonConverters.toDouble(json['OtherCharges']);
TotalDue = JsonConverters.toDouble(json['TotalDue']);
AccumulatedCredit = JsonConverters.toDouble(json['AccumulatedCredit']);
StudentName = json['StudentName'];
SchoolName = json['SchoolName'];
Topic = json['Topic'];
Inventory = JsonConverters.fromJson(json['Inventory'],'List<InventoryGeneric>',context!);
Payments = JsonConverters.fromJson(json['Payments'],'List<PaymentGeneric>',context!);
PaymentAmt = JsonConverters.toDouble(json['PaymentAmt']);
PastDueAmt = JsonConverters.toDouble(json['PastDueAmt']);
CurrentBalance = JsonConverters.toDouble(json['CurrentBalance']);
TotalPayoff = JsonConverters.toDouble(json['TotalPayoff']);
DiscountedPayoff = JsonConverters.toDouble(json['DiscountedPayoff']);
PayoffDate = JsonConverters.fromJson(json['PayoffDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'AccountSub': AccountSub,
'NextDueDate': JsonConverters.toJson(NextDueDate,'DateTime',context!),
'PaymentAmount': PaymentAmount,
'PastDueAmount': PastDueAmount,
'LateCharges': LateCharges,
'OtherCharges': OtherCharges,
'TotalDue': TotalDue,
'AccumulatedCredit': AccumulatedCredit,
'StudentName': StudentName,
'SchoolName': SchoolName,
'Topic': Topic,
'Inventory': JsonConverters.toJson(Inventory,'List<InventoryGeneric>',context!),
'Payments': JsonConverters.toJson(Payments,'List<PaymentGeneric>',context!),
'PaymentAmt': PaymentAmt,
'PastDueAmt': PastDueAmt,
'CurrentBalance': CurrentBalance,
'TotalPayoff': TotalPayoff,
'DiscountedPayoff': DiscountedPayoff,
'PayoffDate': JsonConverters.toJson(PayoffDate,'DateTime',context!)
});
getTypeName() => "GetContractDetailsResponse";
TypeContext? context = _ctx;
}
/**
* GetContractDetailsRequires active-e Contracts Service or active-e Customer Service
*/
// @DataContract
class GetContractDetailsRequest extends BaseSecureRequest implements IConvertible
{
// @DataMember
String? Ref;
// @DataMember
int? Sub;
GetContractDetailsRequest({this.Ref,this.Sub});
GetContractDetailsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Ref = json['Ref'];
Sub = json['Sub'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Ref': Ref,
'Sub': Sub
});
getTypeName() => "GetContractDetailsRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'InventoryGeneric': TypeInfo(TypeOf.Class, create:() => InventoryGeneric()),
'PaymentGeneric': TypeInfo(TypeOf.Class, create:() => PaymentGeneric()),
'GetContractDetailsResponse': TypeInfo(TypeOf.Class, create:() => GetContractDetailsResponse()),
'List<InventoryGeneric>': TypeInfo(TypeOf.Class, create:() => <InventoryGeneric>[]),
'List<PaymentGeneric>': TypeInfo(TypeOf.Class, create:() => <PaymentGeneric>[]),
'GetContractDetailsRequest': TypeInfo(TypeOf.Class, create:() => GetContractDetailsRequest()),
});
Dart GetContractDetailsRequest 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.
POST /api/GetContractDetails HTTP/1.1
Host: active-ewebservice.biz
Accept: application/json
Content-Type: application/json
Content-Length: length
{"Ref":"String","Sub":0,"Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"AccountSub":"String","PaymentAmount":0,"PastDueAmount":0,"LateCharges":0,"OtherCharges":0,"TotalDue":0,"AccumulatedCredit":0,"StudentName":"String","SchoolName":"String","Topic":"String","Inventory":[{"Model":"String","Item":"String","Sku":"String","Serial":"String","Desc":"String","Mfg":"String"}],"Payments":[{"Amount":0,"Ref":"String"}],"PaymentAmt":0,"PastDueAmt":0,"CurrentBalance":0,"TotalPayoff":0,"DiscountedPayoff":0,"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}