| GET,OPTIONS | /v1/Project/{ProjectID}/material/{MaterialID}/Jobs |
|---|
export class CalendarEvent
{
public CalendarEventId: number;
public CalendarId: string;
public EventStart: string;
public EventEnd: string;
public Location: string;
public Summary: string;
public Description: string;
public EventTypeId: number;
public Recurrence: boolean;
public RecurrenceFrequency: string;
public RecurrenceBy: string;
public RecurrenceByValue: string;
public RecurrenceUntil: string;
public CreatedBy: string;
public CreatedByName: string;
public DateCreated: string;
public ModifiedBy: string;
public DateModified: string;
public Deleted: boolean;
public TimeZone: string;
public Offset: number;
public TextReminderSentDate: string;
public Confirmed: boolean;
public ConfirmationTextId: string;
public FirstTextReminderId: string;
public SecondTextReminderId: string;
public LocationUID?: string;
public AgentReminderSentDate: string;
public ContactId: number;
public IsPrivate: boolean;
public ProjectID: number;
public JobID: number;
public ProjectStartDate: string;
public ProjectEndDate: string;
public MaxCrewEndDate: string;
public MaxEquipmentEndDate: string;
public CheckInId: string;
public AllDay: boolean;
public JobName: string;
public JobStatusName: string;
public JobStatusId: number;
public ProjectName: string;
public ResourceId: number;
public ResourceName: string;
public Original_EventStart: string;
public Original_Recurrence: boolean;
public Original_RecurrenceFrequency: string;
public Original_RecurrenceBy: string;
public Original_RecurrenceByValue: string;
public Original_RecurrenceUntil: string;
public Checksum: string;
public constructor(init?: Partial<CalendarEvent>) { (Object as any).assign(this, init); }
}
export class Job
{
public JobID: number;
public JobName: string;
public JobTypeID: number;
public ExpectedStartDate: string;
public ActualStartDate: string;
public ExpectedCompletionDate: string;
public ActualEndDate: string;
public Active: boolean;
public CreatedByUID: string;
public ProjectID: number;
public StatusId: number;
public AdvancedScheduling: boolean;
public ShowTimes: boolean;
public Schedule: CalendarEvent[] = [];
public constructor(init?: Partial<Job>) { (Object as any).assign(this, init); }
}
export class MaterialProjectJobsResponse
{
public ResponseStatus: ResponseStatus;
public Jobs: Job[] = [];
public constructor(init?: Partial<MaterialProjectJobsResponse>) { (Object as any).assign(this, init); }
}
export class MaterialProjectJobsRequest
{
public ProjectID: number;
public MaterialID: number;
public constructor(init?: Partial<MaterialProjectJobsRequest>) { (Object as any).assign(this, init); }
}
TypeScript MaterialProjectJobsRequest 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.
GET /v1/Project/{ProjectID}/material/{MaterialID}/Jobs HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
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
}
},
Jobs:
[
{
JobID: 0,
JobName: String,
JobTypeID: 0,
ExpectedStartDate: 0001-01-01,
ActualStartDate: 0001-01-01,
ExpectedCompletionDate: 0001-01-01,
ActualEndDate: 0001-01-01,
Active: False,
CreatedByUID: 00000000000000000000000000000000,
ProjectID: 0,
StatusId: 0,
AdvancedScheduling: False,
ShowTimes: False,
Schedule:
[
{
CalendarEventId: 0,
CalendarId: 00000000000000000000000000000000,
EventStart: 0001-01-01,
EventEnd: 0001-01-01,
Location: String,
Summary: String,
Description: String,
EventTypeId: 0,
Recurrence: False,
RecurrenceFrequency: String,
RecurrenceBy: String,
RecurrenceByValue: String,
RecurrenceUntil: 0001-01-01,
CreatedBy: String,
CreatedByName: String,
DateCreated: 0001-01-01,
ModifiedBy: String,
DateModified: 0001-01-01,
Deleted: False,
TimeZone: String,
Offset: 0,
TextReminderSentDate: 0001-01-01,
Confirmed: False,
ConfirmationTextId: String,
FirstTextReminderId: String,
SecondTextReminderId: String,
LocationUID: 00000000000000000000000000000000,
AgentReminderSentDate: 0001-01-01,
ContactId: 0,
IsPrivate: False,
ProjectID: 0,
JobID: 0,
ProjectStartDate: 0001-01-01,
ProjectEndDate: 0001-01-01,
MaxCrewEndDate: 0001-01-01,
MaxEquipmentEndDate: 0001-01-01,
CheckInId: 00000000000000000000000000000000,
AllDay: False,
JobName: String,
JobStatusName: String,
JobStatusId: 0,
ProjectName: String,
ResourceId: 0,
ResourceName: String,
Original_EventStart: 0001-01-01,
Original_Recurrence: False,
Original_RecurrenceFrequency: String,
Original_RecurrenceBy: String,
Original_RecurrenceByValue: String,
Original_RecurrenceUntil: 0001-01-01,
Checksum: String
}
]
}
]
}