| POST | /Confirmations/Create |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class ConfirmationGradesViewModel implements IConvertible
{
int? Id;
bool? Deleted;
int? ProductId;
int? VersionId;
int? GradeId;
String? SpecificationComments;
int? VolumeFrom;
int? VolumeTo;
int? UnitId;
int? VolumeUnitId;
double? UnitPrice;
int? CurrencyId;
ConfirmationGradesViewModel({this.Id,this.Deleted,this.ProductId,this.VersionId,this.GradeId,this.SpecificationComments,this.VolumeFrom,this.VolumeTo,this.UnitId,this.VolumeUnitId,this.UnitPrice,this.CurrencyId});
ConfirmationGradesViewModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Deleted = json['Deleted'];
ProductId = json['ProductId'];
VersionId = json['VersionId'];
GradeId = json['GradeId'];
SpecificationComments = json['SpecificationComments'];
VolumeFrom = json['VolumeFrom'];
VolumeTo = json['VolumeTo'];
UnitId = json['UnitId'];
VolumeUnitId = json['VolumeUnitId'];
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
CurrencyId = json['CurrencyId'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Deleted': Deleted,
'ProductId': ProductId,
'VersionId': VersionId,
'GradeId': GradeId,
'SpecificationComments': SpecificationComments,
'VolumeFrom': VolumeFrom,
'VolumeTo': VolumeTo,
'UnitId': UnitId,
'VolumeUnitId': VolumeUnitId,
'UnitPrice': UnitPrice,
'CurrencyId': CurrencyId
};
getTypeName() => "ConfirmationGradesViewModel";
TypeContext? context = _ctx;
}
class ConfirmationCreate implements IConvertible
{
String? IMONumberOrMMSI;
int? VesselId;
DateTime? DateFrom;
DateTime? DateTo;
int? PortId;
int? DeliveryMethodId;
String? Agent;
int? SellingAccountId;
int? BuyingAccountId;
String? RequestedTermsType;
int? CreditTermDays;
String? VesselType;
String? RecapComments;
String? AgentDetails;
String? AdditionalCosts;
String? BuyerCompany;
String? BuyerEmailAddress;
List<ConfirmationGradesViewModel>? ConfirmationGrades;
ConfirmationCreate({this.IMONumberOrMMSI,this.VesselId,this.DateFrom,this.DateTo,this.PortId,this.DeliveryMethodId,this.Agent,this.SellingAccountId,this.BuyingAccountId,this.RequestedTermsType,this.CreditTermDays,this.VesselType,this.RecapComments,this.AgentDetails,this.AdditionalCosts,this.BuyerCompany,this.BuyerEmailAddress,this.ConfirmationGrades});
ConfirmationCreate.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
IMONumberOrMMSI = json['IMONumberOrMMSI'];
VesselId = json['VesselId'];
DateFrom = JsonConverters.fromJson(json['DateFrom'],'DateTime',context!);
DateTo = JsonConverters.fromJson(json['DateTo'],'DateTime',context!);
PortId = json['PortId'];
DeliveryMethodId = json['DeliveryMethodId'];
Agent = json['Agent'];
SellingAccountId = json['SellingAccountId'];
BuyingAccountId = json['BuyingAccountId'];
RequestedTermsType = json['RequestedTermsType'];
CreditTermDays = json['CreditTermDays'];
VesselType = json['VesselType'];
RecapComments = json['RecapComments'];
AgentDetails = json['AgentDetails'];
AdditionalCosts = json['AdditionalCosts'];
BuyerCompany = json['BuyerCompany'];
BuyerEmailAddress = json['BuyerEmailAddress'];
ConfirmationGrades = JsonConverters.fromJson(json['ConfirmationGrades'],'List<ConfirmationGradesViewModel>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'IMONumberOrMMSI': IMONumberOrMMSI,
'VesselId': VesselId,
'DateFrom': JsonConverters.toJson(DateFrom,'DateTime',context!),
'DateTo': JsonConverters.toJson(DateTo,'DateTime',context!),
'PortId': PortId,
'DeliveryMethodId': DeliveryMethodId,
'Agent': Agent,
'SellingAccountId': SellingAccountId,
'BuyingAccountId': BuyingAccountId,
'RequestedTermsType': RequestedTermsType,
'CreditTermDays': CreditTermDays,
'VesselType': VesselType,
'RecapComments': RecapComments,
'AgentDetails': AgentDetails,
'AdditionalCosts': AdditionalCosts,
'BuyerCompany': BuyerCompany,
'BuyerEmailAddress': BuyerEmailAddress,
'ConfirmationGrades': JsonConverters.toJson(ConfirmationGrades,'List<ConfirmationGradesViewModel>',context!)
};
getTypeName() => "ConfirmationCreate";
TypeContext? context = _ctx;
}
enum SavingResultStatus
{
Success,
Error,
}
class SavingResultErrors implements IConvertible
{
String? Error;
SavingResultErrors({this.Error});
SavingResultErrors.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Error = json['Error'];
return this;
}
Map<String, dynamic> toJson() => {
'Error': Error
};
getTypeName() => "SavingResultErrors";
TypeContext? context = _ctx;
}
class SavingResult implements IConvertible
{
int? Id;
String? GuidId;
SavingResultStatus? Status;
List<SavingResultErrors>? Errors;
SavingResult({this.Id,this.GuidId,this.Status,this.Errors});
SavingResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
GuidId = json['GuidId'];
Status = JsonConverters.fromJson(json['Status'],'SavingResultStatus',context!);
Errors = JsonConverters.fromJson(json['Errors'],'List<SavingResultErrors>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'GuidId': GuidId,
'Status': JsonConverters.toJson(Status,'SavingResultStatus',context!),
'Errors': JsonConverters.toJson(Errors,'List<SavingResultErrors>',context!)
};
getTypeName() => "SavingResult";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'internal.thebunkerbridge.com', types: <String, TypeInfo> {
'ConfirmationGradesViewModel': TypeInfo(TypeOf.Class, create:() => ConfirmationGradesViewModel()),
'ConfirmationCreate': TypeInfo(TypeOf.Class, create:() => ConfirmationCreate()),
'List<ConfirmationGradesViewModel>': TypeInfo(TypeOf.Class, create:() => <ConfirmationGradesViewModel>[]),
'SavingResultStatus': TypeInfo(TypeOf.Enum, enumValues:SavingResultStatus.values),
'SavingResultErrors': TypeInfo(TypeOf.Class, create:() => SavingResultErrors()),
'SavingResult': TypeInfo(TypeOf.Class, create:() => SavingResult()),
'List<SavingResultErrors>': TypeInfo(TypeOf.Class, create:() => <SavingResultErrors>[]),
});
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 /Confirmations/Create HTTP/1.1
Host: internal.thebunkerbridge.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
IMONumberOrMMSI: String,
VesselId: 0,
DateFrom: 0001-01-01,
DateTo: 0001-01-01,
PortId: 0,
DeliveryMethodId: 0,
Agent: String,
SellingAccountId: 0,
BuyingAccountId: 0,
RequestedTermsType: String,
CreditTermDays: 0,
VesselType: String,
RecapComments: String,
AgentDetails: String,
AdditionalCosts: String,
BuyerCompany: String,
BuyerEmailAddress: String,
ConfirmationGrades:
[
{
Id: 0,
Deleted: False,
ProductId: 0,
VersionId: 0,
GradeId: 0,
SpecificationComments: String,
VolumeFrom: 0,
VolumeTo: 0,
UnitId: 0,
VolumeUnitId: 0,
UnitPrice: 0,
CurrencyId: 0
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Id: 0,
GuidId: 00000000000000000000000000000000,
Status: Success,
Errors:
[
{
Error: String
}
]
}