| GET,OPTIONS | /v1/project/{ProjectID}/agreements | ||
|---|---|---|---|
| GET,POST,PUT,DELETE,OPTIONS | /v1/serviceagreement | ||
| GET,DELETE,OPTIONS | /v1/serviceagreement/{AgreementID} |
import 'package:servicestack/servicestack.dart';
class ServiceAgreement implements IConvertible
{
int? AgreementID;
String? AgreementUID;
String? TenantId;
String? BranchId;
String? BranchName;
int? ProjectID;
String? ProjectName;
String? Name;
String? Status;
String? PricingShape;
double? MonthlyAmount;
double? PerVisitAmount;
String? SkipPolicy;
int? SeasonStartMonth;
int? SeasonStartDay;
int? SeasonEndMonth;
int? SeasonEndDay;
String? RecurrenceFrequency;
String? RecurrenceBy;
String? RecurrenceByValue;
DateTime? EffectiveStartDate;
DateTime? EndDate;
int? PreferredCrewID;
String? PreferredCrewName;
String? ExternalRef;
String? CreatedBy;
DateTime? CreatedAt;
String? UpdatedBy;
DateTime? UpdatedAt;
DateTime? NextVisitDate;
int? VisitsThisPeriod;
ServiceAgreement({this.AgreementID,this.AgreementUID,this.TenantId,this.BranchId,this.BranchName,this.ProjectID,this.ProjectName,this.Name,this.Status,this.PricingShape,this.MonthlyAmount,this.PerVisitAmount,this.SkipPolicy,this.SeasonStartMonth,this.SeasonStartDay,this.SeasonEndMonth,this.SeasonEndDay,this.RecurrenceFrequency,this.RecurrenceBy,this.RecurrenceByValue,this.EffectiveStartDate,this.EndDate,this.PreferredCrewID,this.PreferredCrewName,this.ExternalRef,this.CreatedBy,this.CreatedAt,this.UpdatedBy,this.UpdatedAt,this.NextVisitDate,this.VisitsThisPeriod});
ServiceAgreement.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AgreementID = json['AgreementID'];
AgreementUID = json['AgreementUID'];
TenantId = json['TenantId'];
BranchId = json['BranchId'];
BranchName = json['BranchName'];
ProjectID = json['ProjectID'];
ProjectName = json['ProjectName'];
Name = json['Name'];
Status = json['Status'];
PricingShape = json['PricingShape'];
MonthlyAmount = JsonConverters.toDouble(json['MonthlyAmount']);
PerVisitAmount = JsonConverters.toDouble(json['PerVisitAmount']);
SkipPolicy = json['SkipPolicy'];
SeasonStartMonth = json['SeasonStartMonth'];
SeasonStartDay = json['SeasonStartDay'];
SeasonEndMonth = json['SeasonEndMonth'];
SeasonEndDay = json['SeasonEndDay'];
RecurrenceFrequency = json['RecurrenceFrequency'];
RecurrenceBy = json['RecurrenceBy'];
RecurrenceByValue = json['RecurrenceByValue'];
EffectiveStartDate = JsonConverters.fromJson(json['EffectiveStartDate'],'DateTime',context!);
EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
PreferredCrewID = json['PreferredCrewID'];
PreferredCrewName = json['PreferredCrewName'];
ExternalRef = json['ExternalRef'];
CreatedBy = json['CreatedBy'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
UpdatedBy = json['UpdatedBy'];
UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
NextVisitDate = JsonConverters.fromJson(json['NextVisitDate'],'DateTime',context!);
VisitsThisPeriod = json['VisitsThisPeriod'];
return this;
}
Map<String, dynamic> toJson() => {
'AgreementID': AgreementID,
'AgreementUID': AgreementUID,
'TenantId': TenantId,
'BranchId': BranchId,
'BranchName': BranchName,
'ProjectID': ProjectID,
'ProjectName': ProjectName,
'Name': Name,
'Status': Status,
'PricingShape': PricingShape,
'MonthlyAmount': MonthlyAmount,
'PerVisitAmount': PerVisitAmount,
'SkipPolicy': SkipPolicy,
'SeasonStartMonth': SeasonStartMonth,
'SeasonStartDay': SeasonStartDay,
'SeasonEndMonth': SeasonEndMonth,
'SeasonEndDay': SeasonEndDay,
'RecurrenceFrequency': RecurrenceFrequency,
'RecurrenceBy': RecurrenceBy,
'RecurrenceByValue': RecurrenceByValue,
'EffectiveStartDate': JsonConverters.toJson(EffectiveStartDate,'DateTime',context!),
'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
'PreferredCrewID': PreferredCrewID,
'PreferredCrewName': PreferredCrewName,
'ExternalRef': ExternalRef,
'CreatedBy': CreatedBy,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'UpdatedBy': UpdatedBy,
'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!),
'NextVisitDate': JsonConverters.toJson(NextVisitDate,'DateTime',context!),
'VisitsThisPeriod': VisitsThisPeriod
};
getTypeName() => "ServiceAgreement";
TypeContext? context = _ctx;
}
class ServiceAgreementResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<ServiceAgreement>? ServiceAgreement = [];
ServiceAgreementResponse({this.ResponseStatus,this.ServiceAgreement});
ServiceAgreementResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ServiceAgreement = JsonConverters.fromJson(json['ServiceAgreement'],'List<ServiceAgreement>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ServiceAgreement': JsonConverters.toJson(ServiceAgreement,'List<ServiceAgreement>',context!)
};
getTypeName() => "ServiceAgreementResponse";
TypeContext? context = _ctx;
}
class ServiceAgreementRequest implements IConvertible
{
int? AgreementID;
int? ProjectID;
List<ServiceAgreement>? ServiceAgreement = [];
ServiceAgreementRequest({this.AgreementID,this.ProjectID,this.ServiceAgreement});
ServiceAgreementRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AgreementID = json['AgreementID'];
ProjectID = json['ProjectID'];
ServiceAgreement = JsonConverters.fromJson(json['ServiceAgreement'],'List<ServiceAgreement>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AgreementID': AgreementID,
'ProjectID': ProjectID,
'ServiceAgreement': JsonConverters.toJson(ServiceAgreement,'List<ServiceAgreement>',context!)
};
getTypeName() => "ServiceAgreementRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ServiceAgreement': TypeInfo(TypeOf.Class, create:() => ServiceAgreement()),
'ServiceAgreementResponse': TypeInfo(TypeOf.Class, create:() => ServiceAgreementResponse()),
'List<ServiceAgreement>': TypeInfo(TypeOf.Class, create:() => <ServiceAgreement>[]),
'ServiceAgreementRequest': TypeInfo(TypeOf.Class, create:() => ServiceAgreementRequest()),
});
Dart ServiceAgreementRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/serviceagreement HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"AgreementID":0,"ProjectID":0,"ServiceAgreement":[{"AgreementID":0,"AgreementUID":"00000000000000000000000000000000","TenantId":"00000000000000000000000000000000","BranchId":"00000000000000000000000000000000","BranchName":"String","ProjectID":0,"ProjectName":"String","Name":"String","Status":"String","PricingShape":"String","MonthlyAmount":0,"PerVisitAmount":0,"SkipPolicy":"String","SeasonStartMonth":0,"SeasonStartDay":0,"SeasonEndMonth":0,"SeasonEndDay":0,"RecurrenceFrequency":"String","RecurrenceBy":"String","RecurrenceByValue":"String","EffectiveStartDate":"0001-01-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","PreferredCrewID":0,"PreferredCrewName":"String","ExternalRef":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedBy":"String","UpdatedAt":"0001-01-01T00:00:00.0000000","NextVisitDate":"0001-01-01T00:00:00.0000000","VisitsThisPeriod":0}]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"ServiceAgreement":[{"AgreementID":0,"AgreementUID":"00000000000000000000000000000000","TenantId":"00000000000000000000000000000000","BranchId":"00000000000000000000000000000000","BranchName":"String","ProjectID":0,"ProjectName":"String","Name":"String","Status":"String","PricingShape":"String","MonthlyAmount":0,"PerVisitAmount":0,"SkipPolicy":"String","SeasonStartMonth":0,"SeasonStartDay":0,"SeasonEndMonth":0,"SeasonEndDay":0,"RecurrenceFrequency":"String","RecurrenceBy":"String","RecurrenceByValue":"String","EffectiveStartDate":"0001-01-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","PreferredCrewID":0,"PreferredCrewName":"String","ExternalRef":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedBy":"String","UpdatedAt":"0001-01-01T00:00:00.0000000","NextVisitDate":"0001-01-01T00:00:00.0000000","VisitsThisPeriod":0}]}