Trendsic Platform Service

<back to all web services

RfpChangeOrderSessionRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/Rfp/ChangeOrderSession
import 'package:servicestack/servicestack.dart';

class ChangeOrderLine implements IConvertible
{
    int? ChangeOrderLineID;
    int? ChangeOrderID;
    String? Category;
    String? Description;
    double? CostUSD;
    double? MarkupPct;
    String? CostCode;
    int? SortOrder;

    ChangeOrderLine({this.ChangeOrderLineID,this.ChangeOrderID,this.Category,this.Description,this.CostUSD,this.MarkupPct,this.CostCode,this.SortOrder});
    ChangeOrderLine.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ChangeOrderLineID = json['ChangeOrderLineID'];
        ChangeOrderID = json['ChangeOrderID'];
        Category = json['Category'];
        Description = json['Description'];
        CostUSD = JsonConverters.toDouble(json['CostUSD']);
        MarkupPct = JsonConverters.toDouble(json['MarkupPct']);
        CostCode = json['CostCode'];
        SortOrder = json['SortOrder'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ChangeOrderLineID': ChangeOrderLineID,
        'ChangeOrderID': ChangeOrderID,
        'Category': Category,
        'Description': Description,
        'CostUSD': CostUSD,
        'MarkupPct': MarkupPct,
        'CostCode': CostCode,
        'SortOrder': SortOrder
    };

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

class RfpChangeOrderSessionResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    String? Mode;
    int? ProjectID;
    int? ChangeOrderID;
    String? CONumber;
    String? Title;
    String? Scope;
    int? ScheduleDays;
    List<ChangeOrderLine>? Lines = [];

    RfpChangeOrderSessionResponse({this.ResponseStatus,this.Mode,this.ProjectID,this.ChangeOrderID,this.CONumber,this.Title,this.Scope,this.ScheduleDays,this.Lines});
    RfpChangeOrderSessionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Mode = json['Mode'];
        ProjectID = json['ProjectID'];
        ChangeOrderID = json['ChangeOrderID'];
        CONumber = json['CONumber'];
        Title = json['Title'];
        Scope = json['Scope'];
        ScheduleDays = json['ScheduleDays'];
        Lines = JsonConverters.fromJson(json['Lines'],'List<ChangeOrderLine>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Mode': Mode,
        'ProjectID': ProjectID,
        'ChangeOrderID': ChangeOrderID,
        'CONumber': CONumber,
        'Title': Title,
        'Scope': Scope,
        'ScheduleDays': ScheduleDays,
        'Lines': JsonConverters.toJson(Lines,'List<ChangeOrderLine>',context!)
    };

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

class RfpChangeOrderSessionRequest implements IConvertible
{
    int? ProjectID;
    int? ChangeOrderID;

    RfpChangeOrderSessionRequest({this.ProjectID,this.ChangeOrderID});
    RfpChangeOrderSessionRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'ProjectID': ProjectID,
        'ChangeOrderID': ChangeOrderID
    };

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

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

Dart RfpChangeOrderSessionRequest 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/Rfp/ChangeOrderSession HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProjectID: 0,
	ChangeOrderID: 0
}
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
		}
	},
	Mode: String,
	ProjectID: 0,
	ChangeOrderID: 0,
	CONumber: String,
	Title: String,
	Scope: String,
	ScheduleDays: 0,
	Lines: 
	[
		{
			ChangeOrderLineID: 0,
			ChangeOrderID: 0,
			Category: String,
			Description: String,
			CostUSD: 0,
			MarkupPct: 0,
			CostCode: String,
			SortOrder: 0
		}
	]
}