| Requires any of the roles: | dealer-api-mds, dealer-api-nop |
| All Verbs | /part/{PartId} |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class PartDetail implements IConvertible
{
int? Id;
String? InventoryId;
String? Name;
bool? Active;
DateTime? DateLastUpdate;
double? RRP;
double? TradePrice;
double? DealerPrice;
PartDetail({this.Id,this.InventoryId,this.Name,this.Active,this.DateLastUpdate,this.RRP,this.TradePrice,this.DealerPrice});
PartDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
InventoryId = json['InventoryId'];
Name = json['Name'];
Active = json['Active'];
DateLastUpdate = JsonConverters.fromJson(json['DateLastUpdate'],'DateTime',context!);
RRP = JsonConverters.toDouble(json['RRP']);
TradePrice = JsonConverters.toDouble(json['TradePrice']);
DealerPrice = JsonConverters.toDouble(json['DealerPrice']);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'InventoryId': InventoryId,
'Name': Name,
'Active': Active,
'DateLastUpdate': JsonConverters.toJson(DateLastUpdate,'DateTime',context!),
'RRP': RRP,
'TradePrice': TradePrice,
'DealerPrice': DealerPrice
};
getTypeName() => "PartDetail";
TypeContext? context = _ctx;
}
class PartResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
bool? IsSuccess;
String? Message;
PartDetail? Item;
PartResponse({this.ResponseStatus,this.IsSuccess,this.Message,this.Item});
PartResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
IsSuccess = json['IsSuccess'];
Message = json['Message'];
Item = JsonConverters.fromJson(json['Item'],'PartDetail',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'IsSuccess': IsSuccess,
'Message': Message,
'Item': JsonConverters.toJson(Item,'PartDetail',context!)
};
getTypeName() => "PartResponse";
TypeContext? context = _ctx;
}
class Part implements IConvertible
{
int? PartId;
Part({this.PartId});
Part.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PartId = json['PartId'];
return this;
}
Map<String, dynamic> toJson() => {
'PartId': PartId
};
getTypeName() => "Part";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'mds_api.mojomotorcycles.com.au', types: <String, TypeInfo> {
'PartDetail': TypeInfo(TypeOf.Class, create:() => PartDetail()),
'PartResponse': TypeInfo(TypeOf.Class, create:() => PartResponse()),
'Part': TypeInfo(TypeOf.Class, create:() => Part()),
});
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 /part/{PartId} HTTP/1.1
Host: mds-api.mojomotorcycles.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
PartId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
IsSuccess: False,
Message: String,
Item:
{
Id: 0,
InventoryId: String,
Name: String,
Active: False,
DateLastUpdate: 0001-01-01,
RRP: 0,
TradePrice: 0,
DealerPrice: 0
}
}