| POST,OPTIONS | /v1/CrewAssignments/Export/CSV/{SelectedDate} |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class CrewAssignmentsExportCsvResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
String? file;
CrewAssignmentsExportCsvResponse({this.ResponseStatus,this.file});
CrewAssignmentsExportCsvResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
file = json['file'];
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'file': file
};
getTypeName() => "CrewAssignmentsExportCsvResponse";
TypeContext? context = _ctx;
}
class CrewAssignmentCrewMember implements IConvertible
{
String? Name;
String? Status;
CrewAssignmentCrewMember({this.Name,this.Status});
CrewAssignmentCrewMember.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Status = json['Status'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Status': Status
};
getTypeName() => "CrewAssignmentCrewMember";
TypeContext? context = _ctx;
}
class CrewAssignmentEquipment implements IConvertible
{
String? Name;
String? Status;
CrewAssignmentEquipment({this.Name,this.Status});
CrewAssignmentEquipment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Status = json['Status'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Status': Status
};
getTypeName() => "CrewAssignmentEquipment";
TypeContext? context = _ctx;
}
class CrewAssignmentJob implements IConvertible
{
String? JobName;
List<CrewAssignmentCrewMember>? CrewMembers = [];
List<CrewAssignmentEquipment>? Equipment = [];
CrewAssignmentJob({this.JobName,this.CrewMembers,this.Equipment});
CrewAssignmentJob.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
JobName = json['JobName'];
CrewMembers = JsonConverters.fromJson(json['CrewMembers'],'List<CrewAssignmentCrewMember>',context!);
Equipment = JsonConverters.fromJson(json['Equipment'],'List<CrewAssignmentEquipment>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'JobName': JobName,
'CrewMembers': JsonConverters.toJson(CrewMembers,'List<CrewAssignmentCrewMember>',context!),
'Equipment': JsonConverters.toJson(Equipment,'List<CrewAssignmentEquipment>',context!)
};
getTypeName() => "CrewAssignmentJob";
TypeContext? context = _ctx;
}
class CrewAssignmentProject implements IConvertible
{
String? ProjectName;
List<CrewAssignmentJob>? Jobs = [];
CrewAssignmentProject({this.ProjectName,this.Jobs});
CrewAssignmentProject.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectName = json['ProjectName'];
Jobs = JsonConverters.fromJson(json['Jobs'],'List<CrewAssignmentJob>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectName': ProjectName,
'Jobs': JsonConverters.toJson(Jobs,'List<CrewAssignmentJob>',context!)
};
getTypeName() => "CrewAssignmentProject";
TypeContext? context = _ctx;
}
class CrewAssignmentsExportCsvRequest implements IConvertible
{
DateTime? SelectedDate;
List<CrewAssignmentProject>? projects = [];
CrewAssignmentsExportCsvRequest({this.SelectedDate,this.projects});
CrewAssignmentsExportCsvRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
SelectedDate = JsonConverters.fromJson(json['SelectedDate'],'DateTime',context!);
projects = JsonConverters.fromJson(json['projects'],'List<CrewAssignmentProject>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'SelectedDate': JsonConverters.toJson(SelectedDate,'DateTime',context!),
'projects': JsonConverters.toJson(projects,'List<CrewAssignmentProject>',context!)
};
getTypeName() => "CrewAssignmentsExportCsvRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'CrewAssignmentsExportCsvResponse': TypeInfo(TypeOf.Class, create:() => CrewAssignmentsExportCsvResponse()),
'CrewAssignmentCrewMember': TypeInfo(TypeOf.Class, create:() => CrewAssignmentCrewMember()),
'CrewAssignmentEquipment': TypeInfo(TypeOf.Class, create:() => CrewAssignmentEquipment()),
'CrewAssignmentJob': TypeInfo(TypeOf.Class, create:() => CrewAssignmentJob()),
'List<CrewAssignmentCrewMember>': TypeInfo(TypeOf.Class, create:() => <CrewAssignmentCrewMember>[]),
'List<CrewAssignmentEquipment>': TypeInfo(TypeOf.Class, create:() => <CrewAssignmentEquipment>[]),
'CrewAssignmentProject': TypeInfo(TypeOf.Class, create:() => CrewAssignmentProject()),
'List<CrewAssignmentJob>': TypeInfo(TypeOf.Class, create:() => <CrewAssignmentJob>[]),
'CrewAssignmentsExportCsvRequest': TypeInfo(TypeOf.Class, create:() => CrewAssignmentsExportCsvRequest()),
'List<CrewAssignmentProject>': TypeInfo(TypeOf.Class, create:() => <CrewAssignmentProject>[]),
});
Dart CrewAssignmentsExportCsvRequest DTOs
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/CrewAssignments/Export/CSV/{SelectedDate} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
SelectedDate: 0001-01-01,
projects:
[
{
ProjectName: String,
Jobs:
[
{
JobName: String,
CrewMembers:
[
{
Name: String,
Status: String
}
],
Equipment:
[
{
Name: String,
Status: String
}
]
}
]
}
]
}
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
}
},
file: String
}