| POST,OPTIONS | /v1/fieldlog/submit |
|---|
import 'package:servicestack/servicestack.dart';
class FieldLogSubmitResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
int? FieldLogId;
String? FieldLogUID;
String? Status;
FieldLogSubmitResponse({this.ResponseStatus,this.FieldLogId,this.FieldLogUID,this.Status});
FieldLogSubmitResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
FieldLogId = json['FieldLogId'];
FieldLogUID = json['FieldLogUID'];
Status = json['Status'];
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'FieldLogId': FieldLogId,
'FieldLogUID': FieldLogUID,
'Status': Status
};
getTypeName() => "FieldLogSubmitResponse";
TypeContext? context = _ctx;
}
class FieldLogCrew implements IConvertible
{
int? ContactId;
String? StatusCode;
double? Hours;
String? CostCode;
String? SplitCostCode;
double? SplitHours;
FieldLogCrew({this.ContactId,this.StatusCode,this.Hours,this.CostCode,this.SplitCostCode,this.SplitHours});
FieldLogCrew.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactId = json['ContactId'];
StatusCode = json['StatusCode'];
Hours = JsonConverters.toDouble(json['Hours']);
CostCode = json['CostCode'];
SplitCostCode = json['SplitCostCode'];
SplitHours = JsonConverters.toDouble(json['SplitHours']);
return this;
}
Map<String, dynamic> toJson() => {
'ContactId': ContactId,
'StatusCode': StatusCode,
'Hours': Hours,
'CostCode': CostCode,
'SplitCostCode': SplitCostCode,
'SplitHours': SplitHours
};
getTypeName() => "FieldLogCrew";
TypeContext? context = _ctx;
}
class FieldLogEquipment implements IConvertible
{
int? EquipmentId;
String? EquipmentKey;
String? StatusCode;
double? EngineHours;
double? FuelGallons;
String? IdleReason;
String? DownNote;
FieldLogEquipment({this.EquipmentId,this.EquipmentKey,this.StatusCode,this.EngineHours,this.FuelGallons,this.IdleReason,this.DownNote});
FieldLogEquipment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
EquipmentId = json['EquipmentId'];
EquipmentKey = json['EquipmentKey'];
StatusCode = json['StatusCode'];
EngineHours = JsonConverters.toDouble(json['EngineHours']);
FuelGallons = JsonConverters.toDouble(json['FuelGallons']);
IdleReason = json['IdleReason'];
DownNote = json['DownNote'];
return this;
}
Map<String, dynamic> toJson() => {
'EquipmentId': EquipmentId,
'EquipmentKey': EquipmentKey,
'StatusCode': StatusCode,
'EngineHours': EngineHours,
'FuelGallons': FuelGallons,
'IdleReason': IdleReason,
'DownNote': DownNote
};
getTypeName() => "FieldLogEquipment";
TypeContext? context = _ctx;
}
class FieldLogSub implements IConvertible
{
int? ContactId;
String? Name;
String? Trade;
int? HeadCount;
double? HoursPer;
String? SourceCode;
String? Reporter;
String? Note;
bool? Verified;
String? StateCode;
FieldLogSub({this.ContactId,this.Name,this.Trade,this.HeadCount,this.HoursPer,this.SourceCode,this.Reporter,this.Note,this.Verified,this.StateCode});
FieldLogSub.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactId = json['ContactId'];
Name = json['Name'];
Trade = json['Trade'];
HeadCount = json['HeadCount'];
HoursPer = JsonConverters.toDouble(json['HoursPer']);
SourceCode = json['SourceCode'];
Reporter = json['Reporter'];
Note = json['Note'];
Verified = json['Verified'];
StateCode = json['StateCode'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactId': ContactId,
'Name': Name,
'Trade': Trade,
'HeadCount': HeadCount,
'HoursPer': HoursPer,
'SourceCode': SourceCode,
'Reporter': Reporter,
'Note': Note,
'Verified': Verified,
'StateCode': StateCode
};
getTypeName() => "FieldLogSub";
TypeContext? context = _ctx;
}
class FieldLogQuantity implements IConvertible
{
String? PayItemCode;
String? Name;
String? Unit;
double? TodayQty;
FieldLogQuantity({this.PayItemCode,this.Name,this.Unit,this.TodayQty});
FieldLogQuantity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PayItemCode = json['PayItemCode'];
Name = json['Name'];
Unit = json['Unit'];
TodayQty = JsonConverters.toDouble(json['TodayQty']);
return this;
}
Map<String, dynamic> toJson() => {
'PayItemCode': PayItemCode,
'Name': Name,
'Unit': Unit,
'TodayQty': TodayQty
};
getTypeName() => "FieldLogQuantity";
TypeContext? context = _ctx;
}
class FieldLogDelivery implements IConvertible
{
String? Po;
String? Material;
String? StatusCode;
String? QtyReceived;
FieldLogDelivery({this.Po,this.Material,this.StatusCode,this.QtyReceived});
FieldLogDelivery.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Po = json['Po'];
Material = json['Material'];
StatusCode = json['StatusCode'];
QtyReceived = json['QtyReceived'];
return this;
}
Map<String, dynamic> toJson() => {
'Po': Po,
'Material': Material,
'StatusCode': StatusCode,
'QtyReceived': QtyReceived
};
getTypeName() => "FieldLogDelivery";
TypeContext? context = _ctx;
}
class FieldLogConsumed implements IConvertible
{
String? Name;
String? Qty;
String? Use;
FieldLogConsumed({this.Name,this.Qty,this.Use});
FieldLogConsumed.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Qty = json['Qty'];
Use = json['Use'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Qty': Qty,
'Use': Use
};
getTypeName() => "FieldLogConsumed";
TypeContext? context = _ctx;
}
class FieldLogSubmitRequest implements IConvertible
{
int? ProjectId;
int? JobId;
String? LogDate;
String? Notes;
String? Weather;
int? TempF;
double? WeatherDelayHours;
String? ToolboxTalk;
bool? IncidentOccurred;
String? IncidentType;
String? IncidentNote;
int? IncidentPhotoCount;
List<FieldLogCrew>? Crew = [];
List<FieldLogEquipment>? Equipment = [];
List<FieldLogSub>? Subs = [];
List<FieldLogQuantity>? Quantities = [];
List<FieldLogDelivery>? Deliveries = [];
List<FieldLogConsumed>? Consumed = [];
FieldLogSubmitRequest({this.ProjectId,this.JobId,this.LogDate,this.Notes,this.Weather,this.TempF,this.WeatherDelayHours,this.ToolboxTalk,this.IncidentOccurred,this.IncidentType,this.IncidentNote,this.IncidentPhotoCount,this.Crew,this.Equipment,this.Subs,this.Quantities,this.Deliveries,this.Consumed});
FieldLogSubmitRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectId = json['ProjectId'];
JobId = json['JobId'];
LogDate = json['LogDate'];
Notes = json['Notes'];
Weather = json['Weather'];
TempF = json['TempF'];
WeatherDelayHours = JsonConverters.toDouble(json['WeatherDelayHours']);
ToolboxTalk = json['ToolboxTalk'];
IncidentOccurred = json['IncidentOccurred'];
IncidentType = json['IncidentType'];
IncidentNote = json['IncidentNote'];
IncidentPhotoCount = json['IncidentPhotoCount'];
Crew = JsonConverters.fromJson(json['Crew'],'List<FieldLogCrew>',context!);
Equipment = JsonConverters.fromJson(json['Equipment'],'List<FieldLogEquipment>',context!);
Subs = JsonConverters.fromJson(json['Subs'],'List<FieldLogSub>',context!);
Quantities = JsonConverters.fromJson(json['Quantities'],'List<FieldLogQuantity>',context!);
Deliveries = JsonConverters.fromJson(json['Deliveries'],'List<FieldLogDelivery>',context!);
Consumed = JsonConverters.fromJson(json['Consumed'],'List<FieldLogConsumed>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectId': ProjectId,
'JobId': JobId,
'LogDate': LogDate,
'Notes': Notes,
'Weather': Weather,
'TempF': TempF,
'WeatherDelayHours': WeatherDelayHours,
'ToolboxTalk': ToolboxTalk,
'IncidentOccurred': IncidentOccurred,
'IncidentType': IncidentType,
'IncidentNote': IncidentNote,
'IncidentPhotoCount': IncidentPhotoCount,
'Crew': JsonConverters.toJson(Crew,'List<FieldLogCrew>',context!),
'Equipment': JsonConverters.toJson(Equipment,'List<FieldLogEquipment>',context!),
'Subs': JsonConverters.toJson(Subs,'List<FieldLogSub>',context!),
'Quantities': JsonConverters.toJson(Quantities,'List<FieldLogQuantity>',context!),
'Deliveries': JsonConverters.toJson(Deliveries,'List<FieldLogDelivery>',context!),
'Consumed': JsonConverters.toJson(Consumed,'List<FieldLogConsumed>',context!)
};
getTypeName() => "FieldLogSubmitRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'FieldLogSubmitResponse': TypeInfo(TypeOf.Class, create:() => FieldLogSubmitResponse()),
'FieldLogCrew': TypeInfo(TypeOf.Class, create:() => FieldLogCrew()),
'FieldLogEquipment': TypeInfo(TypeOf.Class, create:() => FieldLogEquipment()),
'FieldLogSub': TypeInfo(TypeOf.Class, create:() => FieldLogSub()),
'FieldLogQuantity': TypeInfo(TypeOf.Class, create:() => FieldLogQuantity()),
'FieldLogDelivery': TypeInfo(TypeOf.Class, create:() => FieldLogDelivery()),
'FieldLogConsumed': TypeInfo(TypeOf.Class, create:() => FieldLogConsumed()),
'FieldLogSubmitRequest': TypeInfo(TypeOf.Class, create:() => FieldLogSubmitRequest()),
'List<FieldLogCrew>': TypeInfo(TypeOf.Class, create:() => <FieldLogCrew>[]),
'List<FieldLogEquipment>': TypeInfo(TypeOf.Class, create:() => <FieldLogEquipment>[]),
'List<FieldLogSub>': TypeInfo(TypeOf.Class, create:() => <FieldLogSub>[]),
'List<FieldLogQuantity>': TypeInfo(TypeOf.Class, create:() => <FieldLogQuantity>[]),
'List<FieldLogDelivery>': TypeInfo(TypeOf.Class, create:() => <FieldLogDelivery>[]),
'List<FieldLogConsumed>': TypeInfo(TypeOf.Class, create:() => <FieldLogConsumed>[]),
});
Dart FieldLogSubmitRequest 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/fieldlog/submit HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectId: 0,
JobId: 0,
LogDate: String,
Notes: String,
Weather: String,
TempF: 0,
WeatherDelayHours: 0,
ToolboxTalk: String,
IncidentOccurred: False,
IncidentType: String,
IncidentNote: String,
IncidentPhotoCount: 0,
Crew:
[
{
ContactId: 0,
StatusCode: String,
Hours: 0,
CostCode: String,
SplitCostCode: String,
SplitHours: 0
}
],
Equipment:
[
{
EquipmentId: 0,
EquipmentKey: String,
StatusCode: String,
EngineHours: 0,
FuelGallons: 0,
IdleReason: String,
DownNote: String
}
],
Subs:
[
{
ContactId: 0,
Name: String,
Trade: String,
HeadCount: 0,
HoursPer: 0,
SourceCode: String,
Reporter: String,
Note: String,
Verified: False,
StateCode: String
}
],
Quantities:
[
{
PayItemCode: String,
Name: String,
Unit: String,
TodayQty: 0
}
],
Deliveries:
[
{
Po: String,
Material: String,
StatusCode: String,
QtyReceived: String
}
],
Consumed:
[
{
Name: String,
Qty: String,
Use: 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
}
},
FieldLogId: 0,
FieldLogUID: 00000000000000000000000000000000,
Status: String
}