| GET,OPTIONS | /v1/additionalservice/{Id} |
|---|
import 'package:servicestack/servicestack.dart';
class AdditionalServiceRequestPhoto implements IConvertible
{
int? AdditionalServiceRequestPhotoID;
String? Url;
String? MimeType;
DateTime? CreatedAt;
AdditionalServiceRequestPhoto({this.AdditionalServiceRequestPhotoID,this.Url,this.MimeType,this.CreatedAt});
AdditionalServiceRequestPhoto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AdditionalServiceRequestPhotoID = json['AdditionalServiceRequestPhotoID'];
Url = json['Url'];
MimeType = json['MimeType'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AdditionalServiceRequestPhotoID': AdditionalServiceRequestPhotoID,
'Url': Url,
'MimeType': MimeType,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!)
};
getTypeName() => "AdditionalServiceRequestPhoto";
TypeContext? context = _ctx;
}
class AdditionalServiceRequest implements IConvertible
{
int? AdditionalServiceRequestID;
String? AdditionalServiceRequestUID;
String? TenantId;
String? BranchId;
String? BranchName;
int? ProjectID;
String? ProjectName;
String? ProjectUID;
int? JobID;
int? AgreementJobID;
int? RequestedByContactID;
String? RequestedByName;
int? CustomerContactID;
String? CustomerName;
String? CustomerEmail;
String? CustomerPhone;
bool? CustomerSmsOptIn;
String? Description;
String? Status;
int? QuoteID;
String? QuoteUID;
String? QuoteStatus;
double? QuoteTotal;
bool? FinalPriceAfterCompletion;
String? QuoteApprovedByName;
DateTime? QuoteApprovedAt;
int? ConvertedJobID;
int? PhotoCount;
String? CreatedBy;
DateTime? CreatedAt;
String? UpdatedBy;
DateTime? UpdatedAt;
List<AdditionalServiceRequestPhoto>? Photos = [];
AdditionalServiceRequest({this.AdditionalServiceRequestID,this.AdditionalServiceRequestUID,this.TenantId,this.BranchId,this.BranchName,this.ProjectID,this.ProjectName,this.ProjectUID,this.JobID,this.AgreementJobID,this.RequestedByContactID,this.RequestedByName,this.CustomerContactID,this.CustomerName,this.CustomerEmail,this.CustomerPhone,this.CustomerSmsOptIn,this.Description,this.Status,this.QuoteID,this.QuoteUID,this.QuoteStatus,this.QuoteTotal,this.FinalPriceAfterCompletion,this.QuoteApprovedByName,this.QuoteApprovedAt,this.ConvertedJobID,this.PhotoCount,this.CreatedBy,this.CreatedAt,this.UpdatedBy,this.UpdatedAt,this.Photos});
AdditionalServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AdditionalServiceRequestID = json['AdditionalServiceRequestID'];
AdditionalServiceRequestUID = json['AdditionalServiceRequestUID'];
TenantId = json['TenantId'];
BranchId = json['BranchId'];
BranchName = json['BranchName'];
ProjectID = json['ProjectID'];
ProjectName = json['ProjectName'];
ProjectUID = json['ProjectUID'];
JobID = json['JobID'];
AgreementJobID = json['AgreementJobID'];
RequestedByContactID = json['RequestedByContactID'];
RequestedByName = json['RequestedByName'];
CustomerContactID = json['CustomerContactID'];
CustomerName = json['CustomerName'];
CustomerEmail = json['CustomerEmail'];
CustomerPhone = json['CustomerPhone'];
CustomerSmsOptIn = json['CustomerSmsOptIn'];
Description = json['Description'];
Status = json['Status'];
QuoteID = json['QuoteID'];
QuoteUID = json['QuoteUID'];
QuoteStatus = json['QuoteStatus'];
QuoteTotal = JsonConverters.toDouble(json['QuoteTotal']);
FinalPriceAfterCompletion = json['FinalPriceAfterCompletion'];
QuoteApprovedByName = json['QuoteApprovedByName'];
QuoteApprovedAt = JsonConverters.fromJson(json['QuoteApprovedAt'],'DateTime',context!);
ConvertedJobID = json['ConvertedJobID'];
PhotoCount = json['PhotoCount'];
CreatedBy = json['CreatedBy'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
UpdatedBy = json['UpdatedBy'];
UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
Photos = JsonConverters.fromJson(json['Photos'],'List<AdditionalServiceRequestPhoto>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AdditionalServiceRequestID': AdditionalServiceRequestID,
'AdditionalServiceRequestUID': AdditionalServiceRequestUID,
'TenantId': TenantId,
'BranchId': BranchId,
'BranchName': BranchName,
'ProjectID': ProjectID,
'ProjectName': ProjectName,
'ProjectUID': ProjectUID,
'JobID': JobID,
'AgreementJobID': AgreementJobID,
'RequestedByContactID': RequestedByContactID,
'RequestedByName': RequestedByName,
'CustomerContactID': CustomerContactID,
'CustomerName': CustomerName,
'CustomerEmail': CustomerEmail,
'CustomerPhone': CustomerPhone,
'CustomerSmsOptIn': CustomerSmsOptIn,
'Description': Description,
'Status': Status,
'QuoteID': QuoteID,
'QuoteUID': QuoteUID,
'QuoteStatus': QuoteStatus,
'QuoteTotal': QuoteTotal,
'FinalPriceAfterCompletion': FinalPriceAfterCompletion,
'QuoteApprovedByName': QuoteApprovedByName,
'QuoteApprovedAt': JsonConverters.toJson(QuoteApprovedAt,'DateTime',context!),
'ConvertedJobID': ConvertedJobID,
'PhotoCount': PhotoCount,
'CreatedBy': CreatedBy,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'UpdatedBy': UpdatedBy,
'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!),
'Photos': JsonConverters.toJson(Photos,'List<AdditionalServiceRequestPhoto>',context!)
};
getTypeName() => "AdditionalServiceRequest";
TypeContext? context = _ctx;
}
class AdditionalServiceDetailResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
AdditionalServiceRequest? Request;
AdditionalServiceDetailResponse({this.ResponseStatus,this.Request});
AdditionalServiceDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Request = JsonConverters.fromJson(json['Request'],'AdditionalServiceRequest',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Request': JsonConverters.toJson(Request,'AdditionalServiceRequest',context!)
};
getTypeName() => "AdditionalServiceDetailResponse";
TypeContext? context = _ctx;
}
class AdditionalServiceDetailRequest implements IConvertible
{
int? Id;
AdditionalServiceDetailRequest({this.Id});
AdditionalServiceDetailRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id
};
getTypeName() => "AdditionalServiceDetailRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'AdditionalServiceRequestPhoto': TypeInfo(TypeOf.Class, create:() => AdditionalServiceRequestPhoto()),
'AdditionalServiceRequest': TypeInfo(TypeOf.Class, create:() => AdditionalServiceRequest()),
'List<AdditionalServiceRequestPhoto>': TypeInfo(TypeOf.Class, create:() => <AdditionalServiceRequestPhoto>[]),
'AdditionalServiceDetailResponse': TypeInfo(TypeOf.Class, create:() => AdditionalServiceDetailResponse()),
'AdditionalServiceDetailRequest': TypeInfo(TypeOf.Class, create:() => AdditionalServiceDetailRequest()),
});
Dart AdditionalServiceDetailRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/additionalservice/{Id} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Request":{"AdditionalServiceRequestID":0,"AdditionalServiceRequestUID":"00000000000000000000000000000000","TenantId":"00000000000000000000000000000000","BranchId":"00000000000000000000000000000000","BranchName":"String","ProjectID":0,"ProjectName":"String","ProjectUID":"00000000000000000000000000000000","JobID":0,"AgreementJobID":0,"RequestedByContactID":0,"RequestedByName":"String","CustomerContactID":0,"CustomerName":"String","CustomerEmail":"String","CustomerPhone":"String","CustomerSmsOptIn":false,"Description":"String","Status":"String","QuoteID":0,"QuoteUID":"00000000000000000000000000000000","QuoteStatus":"String","QuoteTotal":0,"FinalPriceAfterCompletion":false,"QuoteApprovedByName":"String","QuoteApprovedAt":"0001-01-01T00:00:00.0000000","ConvertedJobID":0,"PhotoCount":0,"CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedBy":"String","UpdatedAt":"0001-01-01T00:00:00.0000000","Photos":[{"AdditionalServiceRequestPhotoID":0,"Url":"String","MimeType":"String","CreatedAt":"0001-01-01T00:00:00.0000000"}]}}