| GET,OPTIONS | /v1/project/{ProjectUID}/quote-scope |
|---|
import 'package:servicestack/servicestack.dart';
class QuoteScopeItem implements IConvertible
{
String? ItemType;
int? SourceRefId;
int? JobID;
String? JobName;
String? Name;
double? Quantity;
double? UnitPrice;
QuoteScopeItem({this.ItemType,this.SourceRefId,this.JobID,this.JobName,this.Name,this.Quantity,this.UnitPrice});
QuoteScopeItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ItemType = json['ItemType'];
SourceRefId = json['SourceRefId'];
JobID = json['JobID'];
JobName = json['JobName'];
Name = json['Name'];
Quantity = JsonConverters.toDouble(json['Quantity']);
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
return this;
}
Map<String, dynamic> toJson() => {
'ItemType': ItemType,
'SourceRefId': SourceRefId,
'JobID': JobID,
'JobName': JobName,
'Name': Name,
'Quantity': Quantity,
'UnitPrice': UnitPrice
};
getTypeName() => "QuoteScopeItem";
TypeContext? context = _ctx;
}
class QuoteScopeResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<QuoteScopeItem>? ScopeItems = [];
QuoteScopeResponse({this.ResponseStatus,this.ScopeItems});
QuoteScopeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ScopeItems = JsonConverters.fromJson(json['ScopeItems'],'List<QuoteScopeItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ScopeItems': JsonConverters.toJson(ScopeItems,'List<QuoteScopeItem>',context!)
};
getTypeName() => "QuoteScopeResponse";
TypeContext? context = _ctx;
}
class QuoteScopeRequest implements IConvertible
{
String? ProjectUID;
QuoteScopeRequest({this.ProjectUID});
QuoteScopeRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectUID = json['ProjectUID'];
return this;
}
Map<String, dynamic> toJson() => {
'ProjectUID': ProjectUID
};
getTypeName() => "QuoteScopeRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'QuoteScopeItem': TypeInfo(TypeOf.Class, create:() => QuoteScopeItem()),
'QuoteScopeResponse': TypeInfo(TypeOf.Class, create:() => QuoteScopeResponse()),
'List<QuoteScopeItem>': TypeInfo(TypeOf.Class, create:() => <QuoteScopeItem>[]),
'QuoteScopeRequest': TypeInfo(TypeOf.Class, create:() => QuoteScopeRequest()),
});
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.
GET /v1/project/{ProjectUID}/quote-scope HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
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
}
},
ScopeItems:
[
{
ItemType: String,
SourceRefId: 0,
JobID: 0,
JobName: String,
Name: String,
Quantity: 0,
UnitPrice: 0
}
]
}