regis

<back to all web services

CRMCRUXUpsertRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/DynamicsCRM/CRUX/Upsert
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class CRMCRUXSubscriptionUpsertRequest implements IConvertible
{
    double? payment_amount;
    int? import_id;
    DateTime? payment_date;
    DateTime? start_date;
    DateTime? end_date;
    DateTime? added_date;

    CRMCRUXSubscriptionUpsertRequest({this.payment_amount,this.import_id,this.payment_date,this.start_date,this.end_date,this.added_date});
    CRMCRUXSubscriptionUpsertRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        payment_amount = JsonConverters.toDouble(json['payment_amount']);
        import_id = json['import_id'];
        payment_date = JsonConverters.fromJson(json['payment_date'],'DateTime',context!);
        start_date = JsonConverters.fromJson(json['start_date'],'DateTime',context!);
        end_date = JsonConverters.fromJson(json['end_date'],'DateTime',context!);
        added_date = JsonConverters.fromJson(json['added_date'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'payment_amount': payment_amount,
        'import_id': import_id,
        'payment_date': JsonConverters.toJson(payment_date,'DateTime',context!),
        'start_date': JsonConverters.toJson(start_date,'DateTime',context!),
        'end_date': JsonConverters.toJson(end_date,'DateTime',context!),
        'added_date': JsonConverters.toJson(added_date,'DateTime',context!)
    };

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

class CRMCRUXUpsertRequest implements IConvertible
{
    int? regent_id;
    String? status;
    String? notes;
    bool? is_contact;
    bool? is_account;
    List<CRMCRUXSubscriptionUpsertRequest>? subscriptions;

    CRMCRUXUpsertRequest({this.regent_id,this.status,this.notes,this.is_contact,this.is_account,this.subscriptions});
    CRMCRUXUpsertRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        regent_id = json['regent_id'];
        status = json['status'];
        notes = json['notes'];
        is_contact = json['is_contact'];
        is_account = json['is_account'];
        subscriptions = JsonConverters.fromJson(json['subscriptions'],'List<CRMCRUXSubscriptionUpsertRequest>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'regent_id': regent_id,
        'status': status,
        'notes': notes,
        'is_contact': is_contact,
        'is_account': is_account,
        'subscriptions': JsonConverters.toJson(subscriptions,'List<CRMCRUXSubscriptionUpsertRequest>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
    'CRMCRUXSubscriptionUpsertRequest': TypeInfo(TypeOf.Class, create:() => CRMCRUXSubscriptionUpsertRequest()),
    'CRMCRUXUpsertRequest': TypeInfo(TypeOf.Class, create:() => CRMCRUXUpsertRequest()),
    'List<CRMCRUXSubscriptionUpsertRequest>': TypeInfo(TypeOf.Class, create:() => <CRMCRUXSubscriptionUpsertRequest>[]),
});

Dart CRMCRUXUpsertRequest 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 /DynamicsCRM/CRUX/Upsert HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	regent_id: 0,
	status: String,
	notes: String,
	is_contact: False,
	is_account: False,
	subscriptions: 
	[
		{
			payment_amount: 0,
			import_id: 0,
			payment_date: 0001-01-01,
			start_date: 0001-01-01,
			end_date: 0001-01-01,
			added_date: 0001-01-01
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	errorCode: String,
	message: String,
	stackTrace: String,
	errors: 
	[
		{
			errorCode: String,
			fieldName: String,
			message: String,
			meta: 
			{
				String: String
			}
		}
	],
	meta: 
	{
		String: String
	}
}