| GET,POST,PUT,DELETE,OPTIONS | /v1/Project/Cost/{ProjectID} |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class ProjectCost implements IConvertible
{
int? ProjectID;
double? Budget;
double? CrewCost;
double? EquipmentCost;
double? MaterialCost;
double? TotalCost;
double? BilledCrewCost;
double? BilledEquipmentCost;
double? BilledMaterialCost;
double? BilledTotalCost;
ProjectCost({this.ProjectID,this.Budget,this.CrewCost,this.EquipmentCost,this.MaterialCost,this.TotalCost,this.BilledCrewCost,this.BilledEquipmentCost,this.BilledMaterialCost,this.BilledTotalCost});
ProjectCost.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
Budget = JsonConverters.toDouble(json['Budget']);
CrewCost = JsonConverters.toDouble(json['CrewCost']);
EquipmentCost = JsonConverters.toDouble(json['EquipmentCost']);
MaterialCost = JsonConverters.toDouble(json['MaterialCost']);
TotalCost = JsonConverters.toDouble(json['TotalCost']);
BilledCrewCost = JsonConverters.toDouble(json['BilledCrewCost']);
BilledEquipmentCost = JsonConverters.toDouble(json['BilledEquipmentCost']);
BilledMaterialCost = JsonConverters.toDouble(json['BilledMaterialCost']);
BilledTotalCost = JsonConverters.toDouble(json['BilledTotalCost']);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID,
'Budget': Budget,
'CrewCost': CrewCost,
'EquipmentCost': EquipmentCost,
'MaterialCost': MaterialCost,
'TotalCost': TotalCost,
'BilledCrewCost': BilledCrewCost,
'BilledEquipmentCost': BilledEquipmentCost,
'BilledMaterialCost': BilledMaterialCost,
'BilledTotalCost': BilledTotalCost
};
getTypeName() => "ProjectCost";
TypeContext? context = _ctx;
}
class ProjectCostResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
ProjectCost? ProjectCost;
ProjectCostResponse({this.ResponseStatus,this.ProjectCost});
ProjectCostResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ProjectCost = JsonConverters.fromJson(json['ProjectCost'],'ProjectCost',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ProjectCost': JsonConverters.toJson(ProjectCost,'ProjectCost',context!)
};
getTypeName() => "ProjectCostResponse";
TypeContext? context = _ctx;
}
class ProjectCostRequest implements IConvertible
{
int? ProjectID;
ProjectCostRequest({this.ProjectID});
ProjectCostRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID
};
getTypeName() => "ProjectCostRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ProjectCost': TypeInfo(TypeOf.Class, create:() => ProjectCost()),
'ProjectCostResponse': TypeInfo(TypeOf.Class, create:() => ProjectCostResponse()),
'ProjectCostRequest': TypeInfo(TypeOf.Class, create:() => ProjectCostRequest()),
});
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 /v1/Project/Cost/{ProjectID} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectID: 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
}
},
ProjectCost:
{
ProjectID: 0,
Budget: 0,
CrewCost: 0,
EquipmentCost: 0,
MaterialCost: 0,
TotalCost: 0,
BilledCrewCost: 0,
BilledEquipmentCost: 0,
BilledMaterialCost: 0,
BilledTotalCost: 0
}
}