Trendsic Platform Service

<back to all web services

AgreementCreditsRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/serviceagreement/credits
import 'package:servicestack/servicestack.dart';

class CreditLedger implements IConvertible
{
    int? CreditLedgerID;
    String? TenantId;
    String? BranchId;
    int? AgreementID;
    int? ProjectID;
    int? AgreementJobID;
    double? Amount;
    String? Reason;
    String? Status;
    String? CreatedBy;
    DateTime? CreatedAt;
    DateTime? AppliedAt;
    String? AgreementName;
    String? ProjectName;

    CreditLedger({this.CreditLedgerID,this.TenantId,this.BranchId,this.AgreementID,this.ProjectID,this.AgreementJobID,this.Amount,this.Reason,this.Status,this.CreatedBy,this.CreatedAt,this.AppliedAt,this.AgreementName,this.ProjectName});
    CreditLedger.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CreditLedgerID = json['CreditLedgerID'];
        TenantId = json['TenantId'];
        BranchId = json['BranchId'];
        AgreementID = json['AgreementID'];
        ProjectID = json['ProjectID'];
        AgreementJobID = json['AgreementJobID'];
        Amount = JsonConverters.toDouble(json['Amount']);
        Reason = json['Reason'];
        Status = json['Status'];
        CreatedBy = json['CreatedBy'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        AppliedAt = JsonConverters.fromJson(json['AppliedAt'],'DateTime',context!);
        AgreementName = json['AgreementName'];
        ProjectName = json['ProjectName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CreditLedgerID': CreditLedgerID,
        'TenantId': TenantId,
        'BranchId': BranchId,
        'AgreementID': AgreementID,
        'ProjectID': ProjectID,
        'AgreementJobID': AgreementJobID,
        'Amount': Amount,
        'Reason': Reason,
        'Status': Status,
        'CreatedBy': CreatedBy,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
        'AppliedAt': JsonConverters.toJson(AppliedAt,'DateTime',context!),
        'AgreementName': AgreementName,
        'ProjectName': ProjectName
    };

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

class AgreementCreditsResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<CreditLedger>? Credits = [];

    AgreementCreditsResponse({this.ResponseStatus,this.Credits});
    AgreementCreditsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Credits': JsonConverters.toJson(Credits,'List<CreditLedger>',context!)
    };

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

class AgreementCreditsRequest implements IConvertible
{
    AgreementCreditsRequest();
    AgreementCreditsRequest.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "AgreementCreditsRequest";
    TypeContext? context = _ctx;
}

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

Dart AgreementCreditsRequest 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.

GET /v1/serviceagreement/credits HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
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
		}
	},
	Credits: 
	[
		{
			CreditLedgerID: 0,
			TenantId: 00000000000000000000000000000000,
			BranchId: 00000000000000000000000000000000,
			AgreementID: 0,
			ProjectID: 0,
			AgreementJobID: 0,
			Amount: 0,
			Reason: String,
			Status: String,
			CreatedBy: String,
			CreatedAt: 0001-01-01,
			AppliedAt: 0001-01-01,
			AgreementName: String,
			ProjectName: String
		}
	]
}