| GET,POST,PUT,DELETE,OPTIONS | /v1/Project/Equipment/{ProjectID} | ||
|---|---|---|---|
| GET,POST,PUT,DELETE,OPTIONS | /v1/Project/Equipment/{ProjectID}/{JobID} |
import 'package:servicestack/servicestack.dart';
class Location implements IConvertible
{
String? Id;
String? ClientId;
String? Name;
String? Address1;
String? Address2;
String? City;
String? State;
String? Zip;
String? Phone;
String? Fax;
String? URL;
String? Email;
String? TimeZone;
bool? Active;
DateTime? EntDate;
DateTime? ModDate;
String? LocationImage;
Location({this.Id,this.ClientId,this.Name,this.Address1,this.Address2,this.City,this.State,this.Zip,this.Phone,this.Fax,this.URL,this.Email,this.TimeZone,this.Active,this.EntDate,this.ModDate,this.LocationImage});
Location.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
ClientId = json['ClientId'];
Name = json['Name'];
Address1 = json['Address1'];
Address2 = json['Address2'];
City = json['City'];
State = json['State'];
Zip = json['Zip'];
Phone = json['Phone'];
Fax = json['Fax'];
URL = json['URL'];
Email = json['Email'];
TimeZone = json['TimeZone'];
Active = json['Active'];
EntDate = JsonConverters.fromJson(json['EntDate'],'DateTime',context!);
ModDate = JsonConverters.fromJson(json['ModDate'],'DateTime',context!);
LocationImage = json['LocationImage'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'ClientId': ClientId,
'Name': Name,
'Address1': Address1,
'Address2': Address2,
'City': City,
'State': State,
'Zip': Zip,
'Phone': Phone,
'Fax': Fax,
'URL': URL,
'Email': Email,
'TimeZone': TimeZone,
'Active': Active,
'EntDate': JsonConverters.toJson(EntDate,'DateTime',context!),
'ModDate': JsonConverters.toJson(ModDate,'DateTime',context!),
'LocationImage': LocationImage
};
getTypeName() => "Location";
TypeContext? context = _ctx;
}
class Project implements IConvertible
{
int? ProjectID;
String? ProjectUID;
String? ProjectName;
String? ImageURL;
String? ImageKey;
String? ClientName;
String? ClientPhone;
String? ClientEmail;
bool? NotifyCustomerOnVisitCompletion;
int? ClientContactID;
int? ProjectManagerID;
String? ProjectManagerName;
DateTime? StartDate;
DateTime? EndDate;
DateTime? ActualStartDate;
DateTime? ActualEndDate;
int? JobCount;
int? CrewMemberCount;
String? CrewAvatarsJson;
String? CrewNamesSearch;
int? EquipmentCount;
int? MaterialCount;
int? ProjectStatusID;
String? ProjectStatusDescription;
double? Budget;
double? CostToDate;
String? ProjectLocation;
String? ProjectType;
String? ProjectSponsor;
String? CreatedBy;
DateTime? CreatedAt;
DateTime? UpdatedAt;
String? ProjectDescription;
String? Scope;
int? StatusId;
String? BranchId;
String? BranchName;
Location? Location;
Project({this.ProjectID,this.ProjectUID,this.ProjectName,this.ImageURL,this.ImageKey,this.ClientName,this.ClientPhone,this.ClientEmail,this.NotifyCustomerOnVisitCompletion,this.ClientContactID,this.ProjectManagerID,this.ProjectManagerName,this.StartDate,this.EndDate,this.ActualStartDate,this.ActualEndDate,this.JobCount,this.CrewMemberCount,this.CrewAvatarsJson,this.CrewNamesSearch,this.EquipmentCount,this.MaterialCount,this.ProjectStatusID,this.ProjectStatusDescription,this.Budget,this.CostToDate,this.ProjectLocation,this.ProjectType,this.ProjectSponsor,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.ProjectDescription,this.Scope,this.StatusId,this.BranchId,this.BranchName,this.Location});
Project.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
ProjectUID = json['ProjectUID'];
ProjectName = json['ProjectName'];
ImageURL = json['ImageURL'];
ImageKey = json['ImageKey'];
ClientName = json['ClientName'];
ClientPhone = json['ClientPhone'];
ClientEmail = json['ClientEmail'];
NotifyCustomerOnVisitCompletion = json['NotifyCustomerOnVisitCompletion'];
ClientContactID = json['ClientContactID'];
ProjectManagerID = json['ProjectManagerID'];
ProjectManagerName = json['ProjectManagerName'];
StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
ActualStartDate = JsonConverters.fromJson(json['ActualStartDate'],'DateTime',context!);
ActualEndDate = JsonConverters.fromJson(json['ActualEndDate'],'DateTime',context!);
JobCount = json['JobCount'];
CrewMemberCount = json['CrewMemberCount'];
CrewAvatarsJson = json['CrewAvatarsJson'];
CrewNamesSearch = json['CrewNamesSearch'];
EquipmentCount = json['EquipmentCount'];
MaterialCount = json['MaterialCount'];
ProjectStatusID = json['ProjectStatusID'];
ProjectStatusDescription = json['ProjectStatusDescription'];
Budget = JsonConverters.toDouble(json['Budget']);
CostToDate = JsonConverters.toDouble(json['CostToDate']);
ProjectLocation = json['ProjectLocation'];
ProjectType = json['ProjectType'];
ProjectSponsor = json['ProjectSponsor'];
CreatedBy = json['CreatedBy'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
ProjectDescription = json['ProjectDescription'];
Scope = json['Scope'];
StatusId = json['StatusId'];
BranchId = json['BranchId'];
BranchName = json['BranchName'];
Location = JsonConverters.fromJson(json['Location'],'Location',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID,
'ProjectUID': ProjectUID,
'ProjectName': ProjectName,
'ImageURL': ImageURL,
'ImageKey': ImageKey,
'ClientName': ClientName,
'ClientPhone': ClientPhone,
'ClientEmail': ClientEmail,
'NotifyCustomerOnVisitCompletion': NotifyCustomerOnVisitCompletion,
'ClientContactID': ClientContactID,
'ProjectManagerID': ProjectManagerID,
'ProjectManagerName': ProjectManagerName,
'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
'ActualStartDate': JsonConverters.toJson(ActualStartDate,'DateTime',context!),
'ActualEndDate': JsonConverters.toJson(ActualEndDate,'DateTime',context!),
'JobCount': JobCount,
'CrewMemberCount': CrewMemberCount,
'CrewAvatarsJson': CrewAvatarsJson,
'CrewNamesSearch': CrewNamesSearch,
'EquipmentCount': EquipmentCount,
'MaterialCount': MaterialCount,
'ProjectStatusID': ProjectStatusID,
'ProjectStatusDescription': ProjectStatusDescription,
'Budget': Budget,
'CostToDate': CostToDate,
'ProjectLocation': ProjectLocation,
'ProjectType': ProjectType,
'ProjectSponsor': ProjectSponsor,
'CreatedBy': CreatedBy,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!),
'ProjectDescription': ProjectDescription,
'Scope': Scope,
'StatusId': StatusId,
'BranchId': BranchId,
'BranchName': BranchName,
'Location': JsonConverters.toJson(Location,'Location',context!)
};
getTypeName() => "Project";
TypeContext? context = _ctx;
}
class Equipment implements IConvertible
{
int? EquipmentID;
String? EquipmentName;
int? EquipmentTypeID;
String? Manufacturer;
String? EquipmentType;
String? SerialNumber;
String? BarCode;
String? EquipmentLocation;
String? ImageURL;
String? ProductDetailsURL;
DateTime? RecordCreatedDate;
String? CreatedByUID;
bool? Active;
String? Notes;
double? Rate;
String? BranchId;
String? BranchName;
String? Ownership;
String? RentalVendor;
DateTime? RentalStart;
DateTime? RentalEnd;
List<Project>? Projects = [];
Equipment({this.EquipmentID,this.EquipmentName,this.EquipmentTypeID,this.Manufacturer,this.EquipmentType,this.SerialNumber,this.BarCode,this.EquipmentLocation,this.ImageURL,this.ProductDetailsURL,this.RecordCreatedDate,this.CreatedByUID,this.Active,this.Notes,this.Rate,this.BranchId,this.BranchName,this.Ownership,this.RentalVendor,this.RentalStart,this.RentalEnd,this.Projects});
Equipment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
EquipmentID = json['EquipmentID'];
EquipmentName = json['EquipmentName'];
EquipmentTypeID = json['EquipmentTypeID'];
Manufacturer = json['Manufacturer'];
EquipmentType = json['EquipmentType'];
SerialNumber = json['SerialNumber'];
BarCode = json['BarCode'];
EquipmentLocation = json['EquipmentLocation'];
ImageURL = json['ImageURL'];
ProductDetailsURL = json['ProductDetailsURL'];
RecordCreatedDate = JsonConverters.fromJson(json['RecordCreatedDate'],'DateTime',context!);
CreatedByUID = json['CreatedByUID'];
Active = json['Active'];
Notes = json['Notes'];
Rate = JsonConverters.toDouble(json['Rate']);
BranchId = json['BranchId'];
BranchName = json['BranchName'];
Ownership = json['Ownership'];
RentalVendor = json['RentalVendor'];
RentalStart = JsonConverters.fromJson(json['RentalStart'],'DateTime',context!);
RentalEnd = JsonConverters.fromJson(json['RentalEnd'],'DateTime',context!);
Projects = JsonConverters.fromJson(json['Projects'],'List<Project>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'EquipmentID': EquipmentID,
'EquipmentName': EquipmentName,
'EquipmentTypeID': EquipmentTypeID,
'Manufacturer': Manufacturer,
'EquipmentType': EquipmentType,
'SerialNumber': SerialNumber,
'BarCode': BarCode,
'EquipmentLocation': EquipmentLocation,
'ImageURL': ImageURL,
'ProductDetailsURL': ProductDetailsURL,
'RecordCreatedDate': JsonConverters.toJson(RecordCreatedDate,'DateTime',context!),
'CreatedByUID': CreatedByUID,
'Active': Active,
'Notes': Notes,
'Rate': Rate,
'BranchId': BranchId,
'BranchName': BranchName,
'Ownership': Ownership,
'RentalVendor': RentalVendor,
'RentalStart': JsonConverters.toJson(RentalStart,'DateTime',context!),
'RentalEnd': JsonConverters.toJson(RentalEnd,'DateTime',context!),
'Projects': JsonConverters.toJson(Projects,'List<Project>',context!)
};
getTypeName() => "Equipment";
TypeContext? context = _ctx;
}
class ProjectEquipment extends Equipment implements IConvertible
{
int? ProjectEquipmentID;
int? ProjectID;
DateTime? ProjectEndDate;
DateTime? FirstJobUseDate;
DateTime? LastJobUseDate;
double? EquipmentRate;
int? JobID;
double? BilledEquipmentRate;
String? Status;
String? Source;
int? OverlapBookings;
bool? HasBookingConflict;
String? ConflictJobs;
ProjectEquipment({this.ProjectEquipmentID,this.ProjectID,this.ProjectEndDate,this.FirstJobUseDate,this.LastJobUseDate,this.EquipmentRate,this.JobID,this.BilledEquipmentRate,this.Status,this.Source,this.OverlapBookings,this.HasBookingConflict,this.ConflictJobs});
ProjectEquipment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ProjectEquipmentID = json['ProjectEquipmentID'];
ProjectID = json['ProjectID'];
ProjectEndDate = JsonConverters.fromJson(json['ProjectEndDate'],'DateTime',context!);
FirstJobUseDate = JsonConverters.fromJson(json['FirstJobUseDate'],'DateTime',context!);
LastJobUseDate = JsonConverters.fromJson(json['LastJobUseDate'],'DateTime',context!);
EquipmentRate = JsonConverters.toDouble(json['EquipmentRate']);
JobID = json['JobID'];
BilledEquipmentRate = JsonConverters.toDouble(json['BilledEquipmentRate']);
Status = json['Status'];
Source = json['Source'];
OverlapBookings = json['OverlapBookings'];
HasBookingConflict = json['HasBookingConflict'];
ConflictJobs = json['ConflictJobs'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ProjectEquipmentID': ProjectEquipmentID,
'ProjectID': ProjectID,
'ProjectEndDate': JsonConverters.toJson(ProjectEndDate,'DateTime',context!),
'FirstJobUseDate': JsonConverters.toJson(FirstJobUseDate,'DateTime',context!),
'LastJobUseDate': JsonConverters.toJson(LastJobUseDate,'DateTime',context!),
'EquipmentRate': EquipmentRate,
'JobID': JobID,
'BilledEquipmentRate': BilledEquipmentRate,
'Status': Status,
'Source': Source,
'OverlapBookings': OverlapBookings,
'HasBookingConflict': HasBookingConflict,
'ConflictJobs': ConflictJobs
});
getTypeName() => "ProjectEquipment";
TypeContext? context = _ctx;
}
class ProjectEquipmentListResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<ProjectEquipment>? ProjectEquipment = [];
ProjectEquipmentListResponse({this.ResponseStatus,this.ProjectEquipment});
ProjectEquipmentListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
ProjectEquipment = JsonConverters.fromJson(json['ProjectEquipment'],'List<ProjectEquipment>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'ProjectEquipment': JsonConverters.toJson(ProjectEquipment,'List<ProjectEquipment>',context!)
};
getTypeName() => "ProjectEquipmentListResponse";
TypeContext? context = _ctx;
}
class ProjectEquipmentListRequest implements IConvertible
{
int? ProjectID;
int? JobID;
List<Equipment>? ProjectEquipment = [];
ProjectEquipmentListRequest({this.ProjectID,this.JobID,this.ProjectEquipment});
ProjectEquipmentListRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
JobID = json['JobID'];
ProjectEquipment = JsonConverters.fromJson(json['ProjectEquipment'],'List<Equipment>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID,
'JobID': JobID,
'ProjectEquipment': JsonConverters.toJson(ProjectEquipment,'List<Equipment>',context!)
};
getTypeName() => "ProjectEquipmentListRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'Location': TypeInfo(TypeOf.Class, create:() => Location()),
'Project': TypeInfo(TypeOf.Class, create:() => Project()),
'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()),
'List<Project>': TypeInfo(TypeOf.Class, create:() => <Project>[]),
'ProjectEquipment': TypeInfo(TypeOf.Class, create:() => ProjectEquipment()),
'ProjectEquipmentListResponse': TypeInfo(TypeOf.Class, create:() => ProjectEquipmentListResponse()),
'List<ProjectEquipment>': TypeInfo(TypeOf.Class, create:() => <ProjectEquipment>[]),
'ProjectEquipmentListRequest': TypeInfo(TypeOf.Class, create:() => ProjectEquipmentListRequest()),
'List<Equipment>': TypeInfo(TypeOf.Class, create:() => <Equipment>[]),
});
Dart ProjectEquipmentListRequest 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.
POST /v1/Project/Equipment/{ProjectID} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"ProjectID":0,"JobID":0,"ProjectEquipment":[{"EquipmentID":0,"EquipmentName":"String","EquipmentTypeID":0,"Manufacturer":"String","EquipmentType":"String","SerialNumber":"String","BarCode":"String","EquipmentLocation":"String","ImageURL":"String","ProductDetailsURL":"String","RecordCreatedDate":"0001-01-01T00:00:00.0000000","CreatedByUID":"00000000000000000000000000000000","Active":false,"Notes":"String","Rate":0,"BranchId":"00000000000000000000000000000000","BranchName":"String","Ownership":"String","RentalVendor":"String","RentalStart":"0001-01-01T00:00:00.0000000","RentalEnd":"0001-01-01T00:00:00.0000000","Projects":[{"ProjectID":0,"ProjectUID":"00000000000000000000000000000000","ProjectName":"String","ImageURL":"String","ImageKey":"String","ClientName":"String","ClientPhone":"String","ClientEmail":"String","NotifyCustomerOnVisitCompletion":false,"ClientContactID":0,"ProjectManagerID":0,"ProjectManagerName":"String","StartDate":"0001-01-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","ActualStartDate":"0001-01-01T00:00:00.0000000","ActualEndDate":"0001-01-01T00:00:00.0000000","JobCount":0,"CrewMemberCount":0,"CrewAvatarsJson":"String","CrewNamesSearch":"String","EquipmentCount":0,"MaterialCount":0,"ProjectStatusID":0,"ProjectStatusDescription":"String","Budget":0,"CostToDate":0,"ProjectLocation":"String","ProjectType":"String","ProjectSponsor":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000","ProjectDescription":"String","Scope":"String","StatusId":0,"BranchId":"00000000000000000000000000000000","BranchName":"String","Location":{"Id":"00000000000000000000000000000000","ClientId":"00000000000000000000000000000000","Name":"String","Address1":"String","Address2":"String","City":"String","State":"String","Zip":"String","Phone":"String","Fax":"String","URL":"String","Email":"String","TimeZone":"String","Active":false,"EntDate":"0001-01-01T00:00:00.0000000","ModDate":"0001-01-01T00:00:00.0000000","LocationImage":"String"}}]}]}
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"}},"ProjectEquipment":[{"ProjectEquipmentID":0,"ProjectID":0,"ProjectEndDate":"0001-01-01T00:00:00.0000000","FirstJobUseDate":"0001-01-01T00:00:00.0000000","LastJobUseDate":"0001-01-01T00:00:00.0000000","EquipmentRate":0,"JobID":0,"BilledEquipmentRate":0,"Status":"String","Source":"String","OverlapBookings":0,"HasBookingConflict":false,"ConflictJobs":"String","EquipmentID":0,"EquipmentName":"String","EquipmentTypeID":0,"Manufacturer":"String","EquipmentType":"String","SerialNumber":"String","BarCode":"String","EquipmentLocation":"String","ImageURL":"String","ProductDetailsURL":"String","RecordCreatedDate":"0001-01-01T00:00:00.0000000","CreatedByUID":"00000000000000000000000000000000","Active":false,"Notes":"String","Rate":0,"BranchId":"00000000000000000000000000000000","BranchName":"String","Ownership":"String","RentalVendor":"String","RentalStart":"0001-01-01T00:00:00.0000000","RentalEnd":"0001-01-01T00:00:00.0000000","Projects":[{"ProjectID":0,"ProjectUID":"00000000000000000000000000000000","ProjectName":"String","ImageURL":"String","ImageKey":"String","ClientName":"String","ClientPhone":"String","ClientEmail":"String","NotifyCustomerOnVisitCompletion":false,"ClientContactID":0,"ProjectManagerID":0,"ProjectManagerName":"String","StartDate":"0001-01-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","ActualStartDate":"0001-01-01T00:00:00.0000000","ActualEndDate":"0001-01-01T00:00:00.0000000","JobCount":0,"CrewMemberCount":0,"CrewAvatarsJson":"String","CrewNamesSearch":"String","EquipmentCount":0,"MaterialCount":0,"ProjectStatusID":0,"ProjectStatusDescription":"String","Budget":0,"CostToDate":0,"ProjectLocation":"String","ProjectType":"String","ProjectSponsor":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000","ProjectDescription":"String","Scope":"String","StatusId":0,"BranchId":"00000000000000000000000000000000","BranchName":"String","Location":{"Id":"00000000000000000000000000000000","ClientId":"00000000000000000000000000000000","Name":"String","Address1":"String","Address2":"String","City":"String","State":"String","Zip":"String","Phone":"String","Fax":"String","URL":"String","Email":"String","TimeZone":"String","Active":false,"EntDate":"0001-01-01T00:00:00.0000000","ModDate":"0001-01-01T00:00:00.0000000","LocationImage":"String"}}]}]}