Trendsic Platform Service

<back to all web services

ProjectCostRequest

Requires Authentication
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Project/Cost/{ProjectID}
import 'package:servicestack/servicestack.dart';

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()),
});

Dart ProjectCostRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

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/jsonl
Content-Type: text/jsonl
Content-Length: length

{"ProjectID":0}
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"}},"ProjectCost":{"ProjectID":0,"Budget":0,"CrewCost":0,"EquipmentCost":0,"MaterialCost":0,"TotalCost":0,"BilledCrewCost":0,"BilledEquipmentCost":0,"BilledMaterialCost":0,"BilledTotalCost":0}}