| POST | /sync/saveincompleteuplift |
|---|
import 'package:servicestack/servicestack.dart';
class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
/**
* The API Key required for authentication
*/
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
String? ApiKey;
/**
* Latitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
double? Latitude;
/**
* Longitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
double? Longitude;
ApiServiceRequest({this.ApiKey,this.Latitude,this.Longitude});
ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
Latitude = JsonConverters.toDouble(json['Latitude']);
Longitude = JsonConverters.toDouble(json['Longitude']);
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'Latitude': Latitude,
'Longitude': Longitude
};
getTypeName() => "ApiServiceRequest";
TypeContext? context = _ctx;
}
class ApiServiceResponse implements IServiceResponse, IConvertible
{
/**
* Information about the response.
*/
// @ApiMember(Description="Information about the response.", IsRequired=true)
String? Description;
/**
* Heading or summary of the response.
*/
// @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
String? Heading;
/**
* Did the intended operation for this response complete successfully?
*/
// @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
bool? WasSuccessful;
ResponseStatus? ResponseStatus;
ApiServiceResponse({this.Description,this.Heading,this.WasSuccessful,this.ResponseStatus});
ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Description = json['Description'];
Heading = json['Heading'];
WasSuccessful = json['WasSuccessful'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Description': Description,
'Heading': Heading,
'WasSuccessful': WasSuccessful,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "ApiServiceResponse";
TypeContext? context = _ctx;
}
class SaveIncompleteUpliftRequestResponse extends ApiServiceResponse implements IConvertible
{
List<String>? ImageIds;
SaveIncompleteUpliftRequestResponse({this.ImageIds});
SaveIncompleteUpliftRequestResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ImageIds = JsonConverters.fromJson(json['ImageIds'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ImageIds': JsonConverters.toJson(ImageIds,'List<String>',context!)
});
getTypeName() => "SaveIncompleteUpliftRequestResponse";
TypeContext? context = _ctx;
}
class Seal implements IConvertible
{
String? Number;
double? Weight;
Seal({this.Number,this.Weight});
Seal.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Number = json['Number'];
Weight = JsonConverters.toDouble(json['Weight']);
return this;
}
Map<String, dynamic> toJson() => {
'Number': Number,
'Weight': Weight
};
getTypeName() => "Seal";
TypeContext? context = _ctx;
}
class SealData extends Seal implements IConvertible
{
SealData();
SealData.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "SealData";
TypeContext? context = _ctx;
}
class UpliftRequestProductData implements IConvertible
{
String? Id;
int? UpliftRequestProductId;
int? ProductId;
int? PrincipalId;
double? UnitPrice;
String? Name;
String? Category;
String? UnitBarcode;
String? UnitSize;
double? UnitWeight;
String? Code;
List<dynamic>? Images;
double? Quantity;
double? Value;
String? ProductionDate;
String? ExpiryDate;
String? BatchCode;
SealData? Seal;
String? SerialNumber;
int? StockStatusId;
String? PrincipalLogoUrl;
String? PrincipalName;
String? StockStatusName;
String? StockStatusColor;
int? UnitOfMeasureId;
UpliftRequestProductData({this.Id,this.UpliftRequestProductId,this.ProductId,this.PrincipalId,this.UnitPrice,this.Name,this.Category,this.UnitBarcode,this.UnitSize,this.UnitWeight,this.Code,this.Images,this.Quantity,this.Value,this.ProductionDate,this.ExpiryDate,this.BatchCode,this.Seal,this.SerialNumber,this.StockStatusId,this.PrincipalLogoUrl,this.PrincipalName,this.StockStatusName,this.StockStatusColor,this.UnitOfMeasureId});
UpliftRequestProductData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
UpliftRequestProductId = json['UpliftRequestProductId'];
ProductId = json['ProductId'];
PrincipalId = json['PrincipalId'];
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
Name = json['Name'];
Category = json['Category'];
UnitBarcode = json['UnitBarcode'];
UnitSize = json['UnitSize'];
UnitWeight = JsonConverters.toDouble(json['UnitWeight']);
Code = json['Code'];
Images = JsonConverters.fromJson(json['Images'],'List<dynamic>',context!);
Quantity = JsonConverters.toDouble(json['Quantity']);
Value = JsonConverters.toDouble(json['Value']);
ProductionDate = json['ProductionDate'];
ExpiryDate = json['ExpiryDate'];
BatchCode = json['BatchCode'];
Seal = JsonConverters.fromJson(json['Seal'],'SealData',context!);
SerialNumber = json['SerialNumber'];
StockStatusId = json['StockStatusId'];
PrincipalLogoUrl = json['PrincipalLogoUrl'];
PrincipalName = json['PrincipalName'];
StockStatusName = json['StockStatusName'];
StockStatusColor = json['StockStatusColor'];
UnitOfMeasureId = json['UnitOfMeasureId'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'UpliftRequestProductId': UpliftRequestProductId,
'ProductId': ProductId,
'PrincipalId': PrincipalId,
'UnitPrice': UnitPrice,
'Name': Name,
'Category': Category,
'UnitBarcode': UnitBarcode,
'UnitSize': UnitSize,
'UnitWeight': UnitWeight,
'Code': Code,
'Images': JsonConverters.toJson(Images,'List<dynamic>',context!),
'Quantity': Quantity,
'Value': Value,
'ProductionDate': ProductionDate,
'ExpiryDate': ExpiryDate,
'BatchCode': BatchCode,
'Seal': JsonConverters.toJson(Seal,'SealData',context!),
'SerialNumber': SerialNumber,
'StockStatusId': StockStatusId,
'PrincipalLogoUrl': PrincipalLogoUrl,
'PrincipalName': PrincipalName,
'StockStatusName': StockStatusName,
'StockStatusColor': StockStatusColor,
'UnitOfMeasureId': UnitOfMeasureId
};
getTypeName() => "UpliftRequestProductData";
TypeContext? context = _ctx;
}
class UpliftRequestData implements IConvertible
{
int? UpliftRequestId;
String? Id;
int? OutletId;
List<UpliftRequestProductData>? Products;
String? OutletEmailAddress;
String? OutletContactName;
String? OutletChannel;
String? OutletRegion;
String? AdditionalNotes;
dynamic? MerchandiserSignatureImage;
String? StartTime;
double? StartLatitude;
double? StartLongitude;
String? EndTime;
double? EndLatitude;
double? EndLongitude;
DateTime? LastUpdated;
DateTime? LastSynced;
String? IncompleteUpliftRequestId;
String? AuthRequestId;
bool? Authorised;
int? PrincipalId;
List<SealData>? Seals;
bool? Confirmed;
bool? Cancelled;
List<dynamic>? Images;
bool? SubmitImmediately;
UpliftRequestData({this.UpliftRequestId,this.Id,this.OutletId,this.Products,this.OutletEmailAddress,this.OutletContactName,this.OutletChannel,this.OutletRegion,this.AdditionalNotes,this.MerchandiserSignatureImage,this.StartTime,this.StartLatitude,this.StartLongitude,this.EndTime,this.EndLatitude,this.EndLongitude,this.LastUpdated,this.LastSynced,this.IncompleteUpliftRequestId,this.AuthRequestId,this.Authorised,this.PrincipalId,this.Seals,this.Confirmed,this.Cancelled,this.Images,this.SubmitImmediately});
UpliftRequestData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UpliftRequestId = json['UpliftRequestId'];
Id = json['Id'];
OutletId = json['OutletId'];
Products = JsonConverters.fromJson(json['Products'],'List<UpliftRequestProductData>',context!);
OutletEmailAddress = json['OutletEmailAddress'];
OutletContactName = json['OutletContactName'];
OutletChannel = json['OutletChannel'];
OutletRegion = json['OutletRegion'];
AdditionalNotes = json['AdditionalNotes'];
MerchandiserSignatureImage = JsonConverters.fromJson(json['MerchandiserSignatureImage'],'dynamic',context!);
StartTime = json['StartTime'];
StartLatitude = JsonConverters.toDouble(json['StartLatitude']);
StartLongitude = JsonConverters.toDouble(json['StartLongitude']);
EndTime = json['EndTime'];
EndLatitude = JsonConverters.toDouble(json['EndLatitude']);
EndLongitude = JsonConverters.toDouble(json['EndLongitude']);
LastUpdated = JsonConverters.fromJson(json['LastUpdated'],'DateTime',context!);
LastSynced = JsonConverters.fromJson(json['LastSynced'],'DateTime',context!);
IncompleteUpliftRequestId = json['IncompleteUpliftRequestId'];
AuthRequestId = json['AuthRequestId'];
Authorised = json['Authorised'];
PrincipalId = json['PrincipalId'];
Seals = JsonConverters.fromJson(json['Seals'],'List<SealData>',context!);
Confirmed = json['Confirmed'];
Cancelled = json['Cancelled'];
Images = JsonConverters.fromJson(json['Images'],'List<dynamic>',context!);
SubmitImmediately = json['SubmitImmediately'];
return this;
}
Map<String, dynamic> toJson() => {
'UpliftRequestId': UpliftRequestId,
'Id': Id,
'OutletId': OutletId,
'Products': JsonConverters.toJson(Products,'List<UpliftRequestProductData>',context!),
'OutletEmailAddress': OutletEmailAddress,
'OutletContactName': OutletContactName,
'OutletChannel': OutletChannel,
'OutletRegion': OutletRegion,
'AdditionalNotes': AdditionalNotes,
'MerchandiserSignatureImage': JsonConverters.toJson(MerchandiserSignatureImage,'dynamic',context!),
'StartTime': StartTime,
'StartLatitude': StartLatitude,
'StartLongitude': StartLongitude,
'EndTime': EndTime,
'EndLatitude': EndLatitude,
'EndLongitude': EndLongitude,
'LastUpdated': JsonConverters.toJson(LastUpdated,'DateTime',context!),
'LastSynced': JsonConverters.toJson(LastSynced,'DateTime',context!),
'IncompleteUpliftRequestId': IncompleteUpliftRequestId,
'AuthRequestId': AuthRequestId,
'Authorised': Authorised,
'PrincipalId': PrincipalId,
'Seals': JsonConverters.toJson(Seals,'List<SealData>',context!),
'Confirmed': Confirmed,
'Cancelled': Cancelled,
'Images': JsonConverters.toJson(Images,'List<dynamic>',context!),
'SubmitImmediately': SubmitImmediately
};
getTypeName() => "UpliftRequestData";
TypeContext? context = _ctx;
}
class SaveIncompleteUpliftRequest extends ApiServiceRequest implements IConvertible
{
String? IncompleteUpliftRequestId;
List<String>? ImageIdsOnDevice;
UpliftRequestData? UpliftRequestData;
SaveIncompleteUpliftRequest({this.IncompleteUpliftRequestId,this.ImageIdsOnDevice,this.UpliftRequestData});
SaveIncompleteUpliftRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
IncompleteUpliftRequestId = json['IncompleteUpliftRequestId'];
ImageIdsOnDevice = JsonConverters.fromJson(json['ImageIdsOnDevice'],'List<String>',context!);
UpliftRequestData = JsonConverters.fromJson(json['UpliftRequestData'],'UpliftRequestData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'IncompleteUpliftRequestId': IncompleteUpliftRequestId,
'ImageIdsOnDevice': JsonConverters.toJson(ImageIdsOnDevice,'List<String>',context!),
'UpliftRequestData': JsonConverters.toJson(UpliftRequestData,'UpliftRequestData',context!)
});
getTypeName() => "SaveIncompleteUpliftRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'returnit_api_dev.happen.zone', types: <String, TypeInfo> {
'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
'SaveIncompleteUpliftRequestResponse': TypeInfo(TypeOf.Class, create:() => SaveIncompleteUpliftRequestResponse()),
'Seal': TypeInfo(TypeOf.Class, create:() => Seal()),
'SealData': TypeInfo(TypeOf.Class, create:() => SealData()),
'UpliftRequestProductData': TypeInfo(TypeOf.Class, create:() => UpliftRequestProductData()),
'List<dynamic>': TypeInfo(TypeOf.Class, create:() => <dynamic>[]),
'UpliftRequestData': TypeInfo(TypeOf.Class, create:() => UpliftRequestData()),
'List<UpliftRequestProductData>': TypeInfo(TypeOf.Class, create:() => <UpliftRequestProductData>[]),
'List<SealData>': TypeInfo(TypeOf.Class, create:() => <SealData>[]),
'SaveIncompleteUpliftRequest': TypeInfo(TypeOf.Class, create:() => SaveIncompleteUpliftRequest()),
});
Dart SaveIncompleteUpliftRequest 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 /sync/saveincompleteuplift HTTP/1.1
Host: returnit-api-dev.happen.zone
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ImageIdsOnDevice:
[
String
],
UpliftRequestData:
{
UpliftRequestId: 0,
OutletId: 0,
Products:
[
{
UpliftRequestProductId: 0,
ProductId: 0,
PrincipalId: 0,
UnitPrice: 0,
Name: String,
Category: String,
UnitBarcode: String,
UnitSize: String,
UnitWeight: 0,
Code: String,
Images:
[
{
}
],
Quantity: 0,
Value: 0,
ProductionDate: String,
ExpiryDate: String,
BatchCode: String,
Seal:
{
Number: String,
Weight: 0
},
SerialNumber: String,
StockStatusId: 0,
PrincipalLogoUrl: String,
PrincipalName: String,
StockStatusName: String,
StockStatusColor: String,
UnitOfMeasureId: 0
}
],
OutletEmailAddress: String,
OutletContactName: String,
OutletChannel: String,
OutletRegion: String,
AdditionalNotes: String,
MerchandiserSignatureImage: {},
StartTime: String,
StartLatitude: 0,
StartLongitude: 0,
EndTime: String,
EndLatitude: 0,
EndLongitude: 0,
LastUpdated: 0001-01-01,
LastSynced: 0001-01-01,
IncompleteUpliftRequestId: String,
Authorised: False,
PrincipalId: 0,
Seals:
[
{
Number: String,
Weight: 0
}
],
Confirmed: False,
Cancelled: False,
Images:
[
{
}
],
SubmitImmediately: False
},
ApiKey: String,
Latitude: 0,
Longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ImageIds:
[
String
],
Description: String,
Heading: String,
WasSuccessful: False,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}