| GET,OPTIONS | /v1/Project/ProfitLoss/{ProjectID}/{ProfitLossStartDate}/{ProfitLossEndDate} |
|---|
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 ProjectProfitLossResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
ProjectCost? ProjectProfitLoss;
ProjectProfitLossResponse({this.ResponseStatus,this.ProjectProfitLoss});
ProjectProfitLossResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ProjectProfitLoss = JsonConverters.fromJson(json['ProjectProfitLoss'],'ProjectCost',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ProjectProfitLoss': JsonConverters.toJson(ProjectProfitLoss,'ProjectCost',context!)
};
getTypeName() => "ProjectProfitLossResponse";
TypeContext? context = _ctx;
}
class ProjectProfitLossRequest implements IConvertible
{
int? ProjectID;
DateTime? ProfitLossStartDate;
DateTime? ProfitLossEndDate;
ProjectProfitLossRequest({this.ProjectID,this.ProfitLossStartDate,this.ProfitLossEndDate});
ProjectProfitLossRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
ProfitLossStartDate = JsonConverters.fromJson(json['ProfitLossStartDate'],'DateTime',context!);
ProfitLossEndDate = JsonConverters.fromJson(json['ProfitLossEndDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID,
'ProfitLossStartDate': JsonConverters.toJson(ProfitLossStartDate,'DateTime',context!),
'ProfitLossEndDate': JsonConverters.toJson(ProfitLossEndDate,'DateTime',context!)
};
getTypeName() => "ProjectProfitLossRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ProjectCost': TypeInfo(TypeOf.Class, create:() => ProjectCost()),
'ProjectProfitLossResponse': TypeInfo(TypeOf.Class, create:() => ProjectProfitLossResponse()),
'ProjectProfitLossRequest': TypeInfo(TypeOf.Class, create:() => ProjectProfitLossRequest()),
});
Dart ProjectProfitLossRequest 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.
GET /v1/Project/ProfitLoss/{ProjectID}/{ProfitLossStartDate}/{ProfitLossEndDate} 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
}
},
ProjectProfitLoss:
{
ProjectID: 0,
Budget: 0,
CrewCost: 0,
EquipmentCost: 0,
MaterialCost: 0,
TotalCost: 0,
BilledCrewCost: 0,
BilledEquipmentCost: 0,
BilledMaterialCost: 0,
BilledTotalCost: 0
}
}