Trendsic Platform Service

<back to all web services

JobWageDeterminationSaveRequest

Requires Authentication
The following routes are available for this service:
POST,PUT,OPTIONS/v1/jobs/{JobID}/wage-determination
import 'package:servicestack/servicestack.dart';

class ProjectWageDetermination implements IConvertible
{
    int? ProjectWageDeterminationID;
    String? ProjectWageDeterminationUID;
    int? ProjectID;
    String? DeterminationNo;
    String? DeterminationType;
    DateTime? EffectiveFrom;
    DateTime? EffectiveTo;
    bool? IsDefault;
    int? SortOrder;
    String? CreatedBy;
    DateTime? CreatedAt;
    DateTime? UpdatedAt;

    ProjectWageDetermination({this.ProjectWageDeterminationID,this.ProjectWageDeterminationUID,this.ProjectID,this.DeterminationNo,this.DeterminationType,this.EffectiveFrom,this.EffectiveTo,this.IsDefault,this.SortOrder,this.CreatedBy,this.CreatedAt,this.UpdatedAt});
    ProjectWageDetermination.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ProjectWageDeterminationID = json['ProjectWageDeterminationID'];
        ProjectWageDeterminationUID = json['ProjectWageDeterminationUID'];
        ProjectID = json['ProjectID'];
        DeterminationNo = json['DeterminationNo'];
        DeterminationType = json['DeterminationType'];
        EffectiveFrom = JsonConverters.fromJson(json['EffectiveFrom'],'DateTime',context!);
        EffectiveTo = JsonConverters.fromJson(json['EffectiveTo'],'DateTime',context!);
        IsDefault = json['IsDefault'];
        SortOrder = json['SortOrder'];
        CreatedBy = json['CreatedBy'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ProjectWageDeterminationID': ProjectWageDeterminationID,
        'ProjectWageDeterminationUID': ProjectWageDeterminationUID,
        'ProjectID': ProjectID,
        'DeterminationNo': DeterminationNo,
        'DeterminationType': DeterminationType,
        'EffectiveFrom': JsonConverters.toJson(EffectiveFrom,'DateTime',context!),
        'EffectiveTo': JsonConverters.toJson(EffectiveTo,'DateTime',context!),
        'IsDefault': IsDefault,
        'SortOrder': SortOrder,
        'CreatedBy': CreatedBy,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
        'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!)
    };

    getTypeName() => "ProjectWageDetermination";
    TypeContext? context = _ctx;
}

class JobWageDeterminationResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    int? JobID;
    int? ProjectID;
    int? WageDeterminationID;
    List<ProjectWageDetermination>? Determinations = [];

    JobWageDeterminationResponse({this.ResponseStatus,this.JobID,this.ProjectID,this.WageDeterminationID,this.Determinations});
    JobWageDeterminationResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        JobID = json['JobID'];
        ProjectID = json['ProjectID'];
        WageDeterminationID = json['WageDeterminationID'];
        Determinations = JsonConverters.fromJson(json['Determinations'],'List<ProjectWageDetermination>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'JobID': JobID,
        'ProjectID': ProjectID,
        'WageDeterminationID': WageDeterminationID,
        'Determinations': JsonConverters.toJson(Determinations,'List<ProjectWageDetermination>',context!)
    };

    getTypeName() => "JobWageDeterminationResponse";
    TypeContext? context = _ctx;
}

class JobWageDeterminationSaveRequest implements IConvertible
{
    int? JobID;
    int? ProjectWageDeterminationID;

    JobWageDeterminationSaveRequest({this.JobID,this.ProjectWageDeterminationID});
    JobWageDeterminationSaveRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        JobID = json['JobID'];
        ProjectWageDeterminationID = json['ProjectWageDeterminationID'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'JobID': JobID,
        'ProjectWageDeterminationID': ProjectWageDeterminationID
    };

    getTypeName() => "JobWageDeterminationSaveRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'ProjectWageDetermination': TypeInfo(TypeOf.Class, create:() => ProjectWageDetermination()),
    'JobWageDeterminationResponse': TypeInfo(TypeOf.Class, create:() => JobWageDeterminationResponse()),
    'List<ProjectWageDetermination>': TypeInfo(TypeOf.Class, create:() => <ProjectWageDetermination>[]),
    'JobWageDeterminationSaveRequest': TypeInfo(TypeOf.Class, create:() => JobWageDeterminationSaveRequest()),
});

Dart JobWageDeterminationSaveRequest DTOs

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

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/jobs/{JobID}/wage-determination HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"JobID":0,"ProjectWageDeterminationID":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"JobID":0,"ProjectID":0,"WageDeterminationID":0,"Determinations":[{"ProjectWageDeterminationID":0,"ProjectWageDeterminationUID":"00000000000000000000000000000000","ProjectID":0,"DeterminationNo":"String","DeterminationType":"String","EffectiveFrom":"0001-01-01T00:00:00.0000000","EffectiveTo":"0001-01-01T00:00:00.0000000","IsDefault":false,"SortOrder":0,"CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000"}]}