| 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 .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
Content-Length: length
{"IMONumberOrMMSI":"String","VesselId":0,"DateFrom":"0001-01-01T00:00:00.0000000","DateTo":"0001-01-01T00:00:00.0000000","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/csv
Content-Length: length
{"Id":0,"GuidId":"00000000000000000000000000000000","Status":"Success","Errors":[{"Error":"String"}]}