| GET,POST,PUT,DELETE | /{Workspace}/PricingList/{ObjectId} | ||
|---|---|---|---|
| GET | /{Workspace}/PricingList |
import 'package:servicestack/servicestack.dart';
class PricingListItem implements IConvertible
{
String? ObjectId;
String? Description;
String? Details;
String? Manufacturer;
String? Model;
String? Photo;
bool? IsTaxable;
String? Unit;
double? UnitPrice;
String? Barcode;
PricingListItem({this.ObjectId,this.Description,this.Details,this.Manufacturer,this.Model,this.Photo,this.IsTaxable,this.Unit,this.UnitPrice,this.Barcode});
PricingListItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ObjectId = json['ObjectId'];
Description = json['Description'];
Details = json['Details'];
Manufacturer = json['Manufacturer'];
Model = json['Model'];
Photo = json['Photo'];
IsTaxable = json['IsTaxable'];
Unit = json['Unit'];
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
Barcode = json['Barcode'];
return this;
}
Map<String, dynamic> toJson() => {
'ObjectId': ObjectId,
'Description': Description,
'Details': Details,
'Manufacturer': Manufacturer,
'Model': Model,
'Photo': Photo,
'IsTaxable': IsTaxable,
'Unit': Unit,
'UnitPrice': UnitPrice,
'Barcode': Barcode
};
getTypeName() => "PricingListItem";
TypeContext? context = _ctx;
}
class PricingListCat implements IConvertible
{
String? ObjectId;
String? Name;
List<PricingListCat>? Categories;
List<PricingListItem>? Items;
PricingListCat({this.ObjectId,this.Name,this.Categories,this.Items});
PricingListCat.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ObjectId = json['ObjectId'];
Name = json['Name'];
Categories = JsonConverters.fromJson(json['Categories'],'List<PricingListCat>',context!);
Items = JsonConverters.fromJson(json['Items'],'List<PricingListItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ObjectId': ObjectId,
'Name': Name,
'Categories': JsonConverters.toJson(Categories,'List<PricingListCat>',context!),
'Items': JsonConverters.toJson(Items,'List<PricingListItem>',context!)
};
getTypeName() => "PricingListCat";
TypeContext? context = _ctx;
}
/**
* Represents a DTO for a pricing list in a workspace. Calls without an ObjectId will retrieve an array of all active pricing list objects for the workspace.
*/
class PricingList implements IConvertible
{
String? Workspace;
String? ObjectId;
String? VersionId;
String? BasedOn;
String? Name;
List<PricingListCat>? Categories;
List<PricingListItem>? Items;
PricingList({this.Workspace,this.ObjectId,this.VersionId,this.BasedOn,this.Name,this.Categories,this.Items});
PricingList.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Workspace = json['Workspace'];
ObjectId = json['ObjectId'];
VersionId = json['VersionId'];
BasedOn = json['BasedOn'];
Name = json['Name'];
Categories = JsonConverters.fromJson(json['Categories'],'List<PricingListCat>',context!);
Items = JsonConverters.fromJson(json['Items'],'List<PricingListItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Workspace': Workspace,
'ObjectId': ObjectId,
'VersionId': VersionId,
'BasedOn': BasedOn,
'Name': Name,
'Categories': JsonConverters.toJson(Categories,'List<PricingListCat>',context!),
'Items': JsonConverters.toJson(Items,'List<PricingListItem>',context!)
};
getTypeName() => "PricingList";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
'PricingListItem': TypeInfo(TypeOf.Class, create:() => PricingListItem()),
'PricingListCat': TypeInfo(TypeOf.Class, create:() => PricingListCat()),
'List<PricingListCat>': TypeInfo(TypeOf.Class, create:() => <PricingListCat>[]),
'List<PricingListItem>': TypeInfo(TypeOf.Class, create:() => <PricingListItem>[]),
'PricingList': TypeInfo(TypeOf.Class, create:() => PricingList()),
});
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 /{Workspace}/PricingList/{ObjectId} HTTP/1.1
Host: dev.fieldsquared.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Workspace: String,
ObjectId: String,
VersionId: String,
BasedOn: String,
Name: String,
Categories:
[
{
ObjectId: String,
Name: String,
Categories:
[
{
ObjectId: String,
Name: String,
Categories:
[
{
ObjectId: String,
Name: String,
Items:
[
{
ObjectId: String,
Description: String,
Details: String,
Manufacturer: String,
Model: String,
Photo: String,
IsTaxable: False,
Unit: String,
UnitPrice: 0,
Barcode: String
}
]
}
],
Items:
[
{
ObjectId: String,
Description: String,
Details: String,
Manufacturer: String,
Model: String,
Photo: String,
IsTaxable: False,
Unit: String,
UnitPrice: 0,
Barcode: String
}
]
}
],
Items:
[
{
ObjectId: String,
Description: String,
Details: String,
Manufacturer: String,
Model: String,
Photo: String,
IsTaxable: False,
Unit: String,
UnitPrice: 0,
Barcode: String
}
]
}
],
Items:
[
{
ObjectId: String,
Description: String,
Details: String,
Manufacturer: String,
Model: String,
Photo: String,
IsTaxable: False,
Unit: String,
UnitPrice: 0,
Barcode: String
}
]
}