| POST | /v1/BackOrder/ValidateBulkStatusAllocations | Validates back order references and statuses provided in a csv file for allocation to active back orders. | Reads a csv file and parses a list of back order references, MBUK assistance statuses and messages for validation before allocation to active back orders. |
|---|
import 'package:servicestack/servicestack.dart';
class ValidateBackOrderBulkStatusAllocationsRequest implements IConvertible
{
ValidateBackOrderBulkStatusAllocationsRequest();
ValidateBackOrderBulkStatusAllocationsRequest.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "ValidateBackOrderBulkStatusAllocationsRequest";
TypeContext? context = _ctx;
}
class BackOrderStatusAllocation implements IConvertible
{
int? Row;
String? BackOrderReference;
String? Status;
String? Message;
BackOrderStatusAllocation({this.Row,this.BackOrderReference,this.Status,this.Message});
BackOrderStatusAllocation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Row = json['Row'];
BackOrderReference = json['BackOrderReference'];
Status = json['Status'];
Message = json['Message'];
return this;
}
Map<String, dynamic> toJson() => {
'Row': Row,
'BackOrderReference': BackOrderReference,
'Status': Status,
'Message': Message
};
getTypeName() => "BackOrderStatusAllocation";
TypeContext? context = _ctx;
}
class InvalidBackOrderStatusAllocation extends BackOrderStatusAllocation implements IConvertible
{
String? ValidationMessage;
InvalidBackOrderStatusAllocation({this.ValidationMessage});
InvalidBackOrderStatusAllocation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ValidationMessage = json['ValidationMessage'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ValidationMessage': ValidationMessage
});
getTypeName() => "InvalidBackOrderStatusAllocation";
TypeContext? context = _ctx;
}
class BackOrderBulkStatusAllocation implements IConvertible
{
int? TotalBackOrders;
int? ValidBackOrders;
int? InvalidBackOrders;
List<BackOrderStatusAllocation>? Valid = [];
List<InvalidBackOrderStatusAllocation>? Invalid = [];
BackOrderBulkStatusAllocation({this.TotalBackOrders,this.ValidBackOrders,this.InvalidBackOrders,this.Valid,this.Invalid});
BackOrderBulkStatusAllocation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TotalBackOrders = json['TotalBackOrders'];
ValidBackOrders = json['ValidBackOrders'];
InvalidBackOrders = json['InvalidBackOrders'];
Valid = JsonConverters.fromJson(json['Valid'],'List<BackOrderStatusAllocation>',context!);
Invalid = JsonConverters.fromJson(json['Invalid'],'List<InvalidBackOrderStatusAllocation>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'TotalBackOrders': TotalBackOrders,
'ValidBackOrders': ValidBackOrders,
'InvalidBackOrders': InvalidBackOrders,
'Valid': JsonConverters.toJson(Valid,'List<BackOrderStatusAllocation>',context!),
'Invalid': JsonConverters.toJson(Invalid,'List<InvalidBackOrderStatusAllocation>',context!)
};
getTypeName() => "BackOrderBulkStatusAllocation";
TypeContext? context = _ctx;
}
class BackOrderBulkStatusAllocationsResponse implements IConvertible
{
String? Message;
BackOrderBulkStatusAllocation? BackOrders;
bool? Successful;
String? Filename;
BackOrderBulkStatusAllocationsResponse({this.Message,this.BackOrders,this.Successful,this.Filename});
BackOrderBulkStatusAllocationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Message = json['Message'];
BackOrders = JsonConverters.fromJson(json['BackOrders'],'BackOrderBulkStatusAllocation',context!);
Successful = json['Successful'];
Filename = json['Filename'];
return this;
}
Map<String, dynamic> toJson() => {
'Message': Message,
'BackOrders': JsonConverters.toJson(BackOrders,'BackOrderBulkStatusAllocation',context!),
'Successful': Successful,
'Filename': Filename
};
getTypeName() => "BackOrderBulkStatusAllocationsResponse";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'ValidateBackOrderBulkStatusAllocationsRequest': TypeInfo(TypeOf.Class, create:() => ValidateBackOrderBulkStatusAllocationsRequest()),
'BackOrderStatusAllocation': TypeInfo(TypeOf.Class, create:() => BackOrderStatusAllocation()),
'InvalidBackOrderStatusAllocation': TypeInfo(TypeOf.Class, create:() => InvalidBackOrderStatusAllocation()),
'BackOrderBulkStatusAllocation': TypeInfo(TypeOf.Class, create:() => BackOrderBulkStatusAllocation()),
'List<BackOrderStatusAllocation>': TypeInfo(TypeOf.Class, create:() => <BackOrderStatusAllocation>[]),
'List<InvalidBackOrderStatusAllocation>': TypeInfo(TypeOf.Class, create:() => <InvalidBackOrderStatusAllocation>[]),
'BackOrderBulkStatusAllocationsResponse': TypeInfo(TypeOf.Class, create:() => BackOrderBulkStatusAllocationsResponse()),
});
Dart ValidateBackOrderBulkStatusAllocationsRequest 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 /v1/BackOrder/ValidateBulkStatusAllocations HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: application/json
Content-Type: application/json
Content-Length: length
{}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Message":"One or more errors in file","BackOrders":{"TotalBackOrders":2,"ValidBackOrders":1,"InvalidBackOrders":1,"Valid":[{"Row":0,"BackOrderReference":"String","Status":"String","Message":"String"}],"Invalid":[{"ValidationMessage":"String","Row":0,"BackOrderReference":"String","Status":"String","Message":"String"}]},"Successful":false,"Filename":"String"}