Trendsic Platform Service

<back to all web services

PmSetCrewHoursRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/pm/job/crew/hours
import 'package:servicestack/servicestack.dart';

class PmActionResponse implements IConvertible
{
    bool? Success;
    String? Message;
    int? NewId;
    ResponseStatus? ResponseStatus;

    PmActionResponse({this.Success,this.Message,this.NewId,this.ResponseStatus});
    PmActionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Success = json['Success'];
        Message = json['Message'];
        NewId = json['NewId'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Success': Success,
        'Message': Message,
        'NewId': NewId,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class PmSetCrewHoursRequest implements IConvertible
{
    int? JobID;
    int? ContactID;
    double? BudgetedHours;

    PmSetCrewHoursRequest({this.JobID,this.ContactID,this.BudgetedHours});
    PmSetCrewHoursRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        JobID = json['JobID'];
        ContactID = json['ContactID'];
        BudgetedHours = JsonConverters.toDouble(json['BudgetedHours']);
        return this;
    }

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'PmActionResponse': TypeInfo(TypeOf.Class, create:() => PmActionResponse()),
    'PmSetCrewHoursRequest': TypeInfo(TypeOf.Class, create:() => PmSetCrewHoursRequest()),
});

Dart PmSetCrewHoursRequest DTOs

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

HTTP + JSV

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

POST /v1/pm/job/crew/hours HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	JobID: 0,
	ContactID: 0,
	BudgetedHours: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Success: False,
	Message: String,
	NewId: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}