| Requires any of the roles: | Worker, Agent, Administrator, Administrator, Administrator, Administrator |
| GET,POST,PUT,OPTIONS | /v1/Department | ||
|---|---|---|---|
| GET,DELETE,OPTIONS | /v1/Department/{DepartmentID} |
import 'package:servicestack/servicestack.dart';
class Department implements IConvertible
{
int? DepartmentID;
String? DepartmentUID;
String? Name;
String? Description;
String? Code;
String? Color;
double? Budget;
String? BillingMethod;
String? CostCenter;
String? BillingContact;
String? BillingEmail;
bool? ApprovalOn;
double? Threshold;
bool? Active;
String? CreatedBy;
DateTime? CreatedAt;
int? Members;
Department({this.DepartmentID,this.DepartmentUID,this.Name,this.Description,this.Code,this.Color,this.Budget,this.BillingMethod,this.CostCenter,this.BillingContact,this.BillingEmail,this.ApprovalOn,this.Threshold,this.Active,this.CreatedBy,this.CreatedAt,this.Members});
Department.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DepartmentID = json['DepartmentID'];
DepartmentUID = json['DepartmentUID'];
Name = json['Name'];
Description = json['Description'];
Code = json['Code'];
Color = json['Color'];
Budget = JsonConverters.toDouble(json['Budget']);
BillingMethod = json['BillingMethod'];
CostCenter = json['CostCenter'];
BillingContact = json['BillingContact'];
BillingEmail = json['BillingEmail'];
ApprovalOn = json['ApprovalOn'];
Threshold = JsonConverters.toDouble(json['Threshold']);
Active = json['Active'];
CreatedBy = json['CreatedBy'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
Members = json['Members'];
return this;
}
Map<String, dynamic> toJson() => {
'DepartmentID': DepartmentID,
'DepartmentUID': DepartmentUID,
'Name': Name,
'Description': Description,
'Code': Code,
'Color': Color,
'Budget': Budget,
'BillingMethod': BillingMethod,
'CostCenter': CostCenter,
'BillingContact': BillingContact,
'BillingEmail': BillingEmail,
'ApprovalOn': ApprovalOn,
'Threshold': Threshold,
'Active': Active,
'CreatedBy': CreatedBy,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'Members': Members
};
getTypeName() => "Department";
TypeContext? context = _ctx;
}
class DepartmentResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<Department>? Department = [];
DepartmentResponse({this.ResponseStatus,this.Department});
DepartmentResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Department = JsonConverters.fromJson(json['Department'],'List<Department>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Department': JsonConverters.toJson(Department,'List<Department>',context!)
};
getTypeName() => "DepartmentResponse";
TypeContext? context = _ctx;
}
class DepartmentRequest implements IConvertible
{
int? DepartmentID;
Department? Department;
DepartmentRequest({this.DepartmentID,this.Department});
DepartmentRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DepartmentID = json['DepartmentID'];
Department = JsonConverters.fromJson(json['Department'],'Department',context!);
return this;
}
Map<String, dynamic> toJson() => {
'DepartmentID': DepartmentID,
'Department': JsonConverters.toJson(Department,'Department',context!)
};
getTypeName() => "DepartmentRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'Department': TypeInfo(TypeOf.Class, create:() => Department()),
'DepartmentResponse': TypeInfo(TypeOf.Class, create:() => DepartmentResponse()),
'List<Department>': TypeInfo(TypeOf.Class, create:() => <Department>[]),
'DepartmentRequest': TypeInfo(TypeOf.Class, create:() => DepartmentRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Department HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
DepartmentID: 0,
Department:
{
DepartmentID: 0,
DepartmentUID: 00000000000000000000000000000000,
Name: String,
Description: String,
Code: String,
Color: String,
Budget: 0,
BillingMethod: String,
CostCenter: String,
BillingContact: String,
BillingEmail: String,
ApprovalOn: False,
Threshold: 0,
Active: False,
CreatedBy: String,
CreatedAt: 0001-01-01,
Members: 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
}
},
Department:
[
{
DepartmentID: 0,
DepartmentUID: 00000000000000000000000000000000,
Name: String,
Description: String,
Code: String,
Color: String,
Budget: 0,
BillingMethod: String,
CostCenter: String,
BillingContact: String,
BillingEmail: String,
ApprovalOn: False,
Threshold: 0,
Active: False,
CreatedBy: String,
CreatedAt: 0001-01-01,
Members: 0
}
]
}