| 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 .other suffix or ?format=other
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/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
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}}