POST | /rebatecodes/prices | Get the new prices | Get the new prices after applying RebateCodes |
---|
import 'package:servicestack/servicestack.dart';
class RebateCodeTypeResponse implements IConvertible
{
int? Id;
String? Name;
String? Description;
RebateCodeTypeResponse({this.Id,this.Name,this.Description});
RebateCodeTypeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Name = json['Name'];
Description = json['Description'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Name': Name,
'Description': Description
};
getTypeName() => "RebateCodeTypeResponse";
TypeContext? context = _ctx;
}
class AppliedRebateCodesResponse implements IConvertible
{
String? RebateCodeSign;
int? RebateCodeValue;
RebateCodeTypeResponse? RebateCodeType;
int? RebateCodeId;
double? RebateAmount;
AppliedRebateCodesResponse({this.RebateCodeSign,this.RebateCodeValue,this.RebateCodeType,this.RebateCodeId,this.RebateAmount});
AppliedRebateCodesResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RebateCodeSign = json['RebateCodeSign'];
RebateCodeValue = json['RebateCodeValue'];
RebateCodeType = JsonConverters.fromJson(json['RebateCodeType'],'RebateCodeTypeResponse',context!);
RebateCodeId = json['RebateCodeId'];
RebateAmount = JsonConverters.toDouble(json['RebateAmount']);
return this;
}
Map<String, dynamic> toJson() => {
'RebateCodeSign': RebateCodeSign,
'RebateCodeValue': RebateCodeValue,
'RebateCodeType': JsonConverters.toJson(RebateCodeType,'RebateCodeTypeResponse',context!),
'RebateCodeId': RebateCodeId,
'RebateAmount': RebateAmount
};
getTypeName() => "AppliedRebateCodesResponse";
TypeContext? context = _ctx;
}
class RebateCodePrice implements IConvertible
{
/**
* Price Id
*/
// @ApiMember(Description="Price Id")
int? PriceId;
String? PriceText;
double? PriceBeforeRebate;
double? Price;
double? VAT;
List<AppliedRebateCodesResponse>? AppliedCodes;
RebateCodePrice({this.PriceId,this.PriceText,this.PriceBeforeRebate,this.Price,this.VAT,this.AppliedCodes});
RebateCodePrice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PriceId = json['PriceId'];
PriceText = json['PriceText'];
PriceBeforeRebate = JsonConverters.toDouble(json['PriceBeforeRebate']);
Price = JsonConverters.toDouble(json['Price']);
VAT = JsonConverters.toDouble(json['VAT']);
AppliedCodes = JsonConverters.fromJson(json['AppliedCodes'],'List<AppliedRebateCodesResponse>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PriceId': PriceId,
'PriceText': PriceText,
'PriceBeforeRebate': PriceBeforeRebate,
'Price': Price,
'VAT': VAT,
'AppliedCodes': JsonConverters.toJson(AppliedCodes,'List<AppliedRebateCodesResponse>',context!)
};
getTypeName() => "RebateCodePrice";
TypeContext? context = _ctx;
}
class RebateCodePriceResponse implements IConvertible
{
List<RebateCodePrice>? RebateCodePrices;
ResponseStatus? ResponseStatus;
RebateCodePriceResponse({this.RebateCodePrices,this.ResponseStatus});
RebateCodePriceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RebateCodePrices = JsonConverters.fromJson(json['RebateCodePrices'],'List<RebateCodePrice>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'RebateCodePrices': JsonConverters.toJson(RebateCodePrices,'List<RebateCodePrice>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "RebateCodePriceResponse";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class GetPricesAfterRebateCode implements IConvertible
{
/**
*
*/
// @ApiMember(Description="", IsRequired=true)
String? CompanyId;
/**
* The service you want to get the prices with rebates on
*/
// @ApiMember(Description="The service you want to get the prices with rebates on")
int? ServiceId;
/**
* Provide this if you like to the prices with rebate code ids
*/
// @ApiMember(Description="Provide this if you like to the prices with rebate code ids")
List<int>? RebateCodeIds;
/**
* Provide this if you like to the prices with rebate code signs instead of ids
*/
// @ApiMember(Description="Provide this if you like to the prices with rebate code signs instead of ids")
List<String>? RebateCodeSigns;
/**
* Provide this if you like to calculate the prices with the provided datetime
*/
// @ApiMember(Description="Provide this if you like to calculate the prices with the provided datetime", IsRequired=true)
DateTime? DateFrom;
GetPricesAfterRebateCode({this.CompanyId,this.ServiceId,this.RebateCodeIds,this.RebateCodeSigns,this.DateFrom});
GetPricesAfterRebateCode.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
ServiceId = json['ServiceId'];
RebateCodeIds = JsonConverters.fromJson(json['RebateCodeIds'],'List<int>',context!);
RebateCodeSigns = JsonConverters.fromJson(json['RebateCodeSigns'],'List<String>',context!);
DateFrom = JsonConverters.fromJson(json['DateFrom'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'ServiceId': ServiceId,
'RebateCodeIds': JsonConverters.toJson(RebateCodeIds,'List<int>',context!),
'RebateCodeSigns': JsonConverters.toJson(RebateCodeSigns,'List<String>',context!),
'DateFrom': JsonConverters.toJson(DateFrom,'DateTime',context!)
};
getTypeName() => "GetPricesAfterRebateCode";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'RebateCodeTypeResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeTypeResponse()),
'AppliedRebateCodesResponse': TypeInfo(TypeOf.Class, create:() => AppliedRebateCodesResponse()),
'RebateCodePrice': TypeInfo(TypeOf.Class, create:() => RebateCodePrice()),
'List<AppliedRebateCodesResponse>': TypeInfo(TypeOf.Class, create:() => <AppliedRebateCodesResponse>[]),
'RebateCodePriceResponse': TypeInfo(TypeOf.Class, create:() => RebateCodePriceResponse()),
'List<RebateCodePrice>': TypeInfo(TypeOf.Class, create:() => <RebateCodePrice>[]),
'GetPricesAfterRebateCode': TypeInfo(TypeOf.Class, create:() => GetPricesAfterRebateCode()),
});
Dart GetPricesAfterRebateCode 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 /rebatecodes/prices HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ServiceId: 0,
RebateCodeIds:
[
0
],
RebateCodeSigns:
[
String
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { RebateCodePrices: [ { PriceId: 0, PriceText: String, PriceBeforeRebate: 0, Price: 0, VAT: 0, AppliedCodes: [ { RebateCodeSign: String, RebateCodeValue: 0, RebateCodeType: { Id: 0, Name: String, Description: String }, RebateCodeId: 0, RebateAmount: 0 } ] } ], ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }