Hi team,
My samle code has 2 calendar:
Calendar 1 is General. It has 8 hours per day, 5 working days per week from Monday to Friday and 2 days off are Saturday and Sunday
Calendar 2 is Factory Worker. It has 8 hours per day, 6 working days per week from Monday to Saturday and 1 day off is Sunday
Below is my code:
{
"project": {
"calendar": 3,
"hoursPerDay": 8,
"daysPerWeek": 5,
"daysPerMonth": 20
},
"calendars": {
"rows": [
{
"Id": 3,
"Name": "General",
"DaysPerMonth": 20,
"DaysPerWeek": 5,
"HoursPerDay": 8,
"IsCompanyCalendar": true,
"Parent": null,
"Intervals": [
{
"Id": 1,
"RecurrentStartDate": "on Saturday at 00:00",
"RecurrentEndDate": "on Monday at 00:00",
"StartDate": null,
"EndDate": null,
"IsWorking": false,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 2,
"RecurrentStartDate": "every weekday at 12:00",
"RecurrentEndDate": "every weekday at 13:00",
"StartDate": null,
"EndDate": null,
"IsWorking": false,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 3,
"RecurrentStartDate": "every weekday at 17:00",
"RecurrentEndDate": "every weekday at 08:00",
"StartDate": null,
"EndDate": null,
"IsWorking": false,
"Cls": null,
"PhantomIdForSessionTemp": null
}
],
"leaf": true,
"children": null,
"ChildrenRaw": [],
"Tasks": [],
"Resources": [],
"ParentId": null,
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 2,
"Name": "Factory Worker",
"DaysPerMonth": 24,
"DaysPerWeek": 6,
"HoursPerDay": 8,
"IsCompanyCalendar": false,
"Parent": null,
"Intervals": [
{
"Id": 4,
"RecurrentStartDate": "on Monday at 08:00",
"RecurrentEndDate": "on Monday at 12:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 5,
"RecurrentStartDate": "on Monday at 13:00",
"RecurrentEndDate": "on Monday at 17:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 6,
"RecurrentStartDate": "on Tuesday at 08:00",
"RecurrentEndDate": "on Tuesday at 12:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 7,
"RecurrentStartDate": "on Tuesday at 13:00",
"RecurrentEndDate": "on Tuesday at 17:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 8,
"RecurrentStartDate": "on Wednesday at 08:00",
"RecurrentEndDate": "on Wednesday at 12:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 9,
"RecurrentStartDate": "on Wednesday at 13:00",
"RecurrentEndDate": "on Wednesday at 17:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 10,
"RecurrentStartDate": "on Thursday at 08:00",
"RecurrentEndDate": "on Thursday at 12:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 11,
"RecurrentStartDate": "on Thursday at 13:00",
"RecurrentEndDate": "on Thursday at 17:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 12,
"RecurrentStartDate": "on Friday at 08:00",
"RecurrentEndDate": "on Friday at 12:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 13,
"RecurrentStartDate": "on Friday at 13:00",
"RecurrentEndDate": "on Friday at 17:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 14,
"RecurrentStartDate": "on Saturday at 08:00",
"RecurrentEndDate": "on Saturday at 12:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
},
{
"Id": 15,
"RecurrentStartDate": "on Saturday at 13:00",
"RecurrentEndDate": "on Saturday at 17:00",
"StartDate": null,
"EndDate": null,
"IsWorking": true,
"Cls": null,
"PhantomIdForSessionTemp": null
}
],
"leaf": true,
"children": null,
"ChildrenRaw": [],
"Tasks": [],
"Resources": [],
"ParentId": null,
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
}
]
},
"resources": {
"rows": [],
"total": 0
},
"tasks": {
"rows": [
{
"Name": "Root",
"StartDate": "2021-10-04",
"EndDate": "2021-10-11",
"Duration": 6,
"DurationUnit": "day",
"PercentDone": 0,
"SchedulingMode": "Normal",
"BaselineStartDate": null,
"BaselineEndDate": null,
"BaselinePercentDone": null,
"Cls": "",
"expanded": true,
"Effort": 16,
"EffortUnit": "hour",
"Note": null,
"ConstraintType": "startnoearlierthan",
"ConstraintDate": "2021-10-04",
"ManuallyScheduled": false,
"Draggable": true,
"Resizable": true,
"Rollup": false,
"ShowInTimeline": false,
"Color": null,
"DeadlineDate": null,
"index": null,
"Code": "TASK.00001",
"ProjectID": 90,
"ActualDuration": null,
"Baseline1StartDate": null,
"Baseline1EndDate": null,
"ActualStartDate": null,
"ActualFinishDate": null,
"CompletedPercentage": 0,
"ActualEffortHours": 0,
"Id": 4382,
"Baselines": null,
"CalendarId": null,
"leaf": false,
"children": [
{
"Name": "Task 1",
"StartDate": "2021-10-04",
"EndDate": "2021-10-07",
"Duration": 4,
"DurationUnit": "day",
"PercentDone": 0,
"SchedulingMode": "Normal",
"BaselineStartDate": null,
"BaselineEndDate": null,
"BaselinePercentDone": null,
"Cls": "",
"expanded": false,
"Effort": 8,
"EffortUnit": "hour",
"Note": null,
"ConstraintType": "startnoearlierthan",
"ConstraintDate": "2021-10-04",
"ManuallyScheduled": false,
"Draggable": true,
"Resizable": true,
"Rollup": false,
"ShowInTimeline": false,
"Color": null,
"DeadlineDate": null,
"index": null,
"Code": "TASK.00002",
"ProjectID": 90,
"ActualDuration": null,
"Baseline1StartDate": null,
"Baseline1EndDate": null,
"ActualStartDate": null,
"ActualFinishDate": null,
"CompletedPercentage": 0,
"ActualEffortHours": 0,
"Id": 4383,
"Baselines": null,
"CalendarId": null,
"leaf": true,
"children": null,
"TaskTemplateId": 0,
"OriginalID": null,
"InVisible": false,
"IsDetailTask": null,
"FromViewCRChanges": false,
"ChildrenRaw": [],
"Parent": null,
"ParentId": "4382",
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
},
{
"Name": "Task 2",
"StartDate": "2021-10-04",
"EndDate": "2021-10-11",
"Duration": 6,
"DurationUnit": "day",
"PercentDone": 0,
"SchedulingMode": "Normal",
"BaselineStartDate": null,
"BaselineEndDate": null,
"BaselinePercentDone": null,
"Cls": "",
"expanded": false,
"Effort": 8,
"EffortUnit": "hour",
"Note": null,
"ConstraintType": "startnoearlierthan",
"ConstraintDate": "2021-10-04",
"ManuallyScheduled": false,
"Draggable": true,
"Resizable": true,
"Rollup": false,
"ShowInTimeline": false,
"Color": null,
"DeadlineDate": null,
"index": null,
"Code": "TASK.00003",
"ProjectID": 90,
"ActualDuration": null,
"Baseline1StartDate": null,
"Baseline1EndDate": null,
"ActualStartDate": null,
"ActualFinishDate": null,
"CompletedPercentage": 0,
"ActualEffortHours": 0,
"Id": 4384,
"Baselines": null,
"CalendarId": null,
"leaf": true,
"children": null,
"TaskTemplateId": 0,
"OriginalID": null,
"InVisible": false,
"IsDetailTask": null,
"FromViewCRChanges": false,
"ChildrenRaw": [],
"Parent": null,
"ParentId": "4382",
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
}
],
"TaskTemplateId": 0,
"OriginalID": null,
"InVisible": false,
"IsDetailTask": null,
"FromViewCRChanges": false,
"ChildrenRaw": [
{
"Name": "Task 1",
"StartDate": "2021-10-04",
"EndDate": "2021-10-07",
"Duration": 4,
"DurationUnit": "day",
"PercentDone": 0,
"SchedulingMode": "Normal",
"BaselineStartDate": null,
"BaselineEndDate": null,
"BaselinePercentDone": null,
"Cls": "",
"expanded": false,
"Effort": 8,
"EffortUnit": "hour",
"Note": null,
"ConstraintType": "startnoearlierthan",
"ConstraintDate": "2021-10-04",
"ManuallyScheduled": false,
"Draggable": true,
"Resizable": true,
"Rollup": false,
"ShowInTimeline": false,
"Color": null,
"DeadlineDate": null,
"index": null,
"Code": "TASK.00002",
"ProjectID": 90,
"ActualDuration": null,
"Baseline1StartDate": null,
"Baseline1EndDate": null,
"ActualStartDate": null,
"ActualFinishDate": null,
"CompletedPercentage": 0,
"ActualEffortHours": 0,
"Id": 4383,
"Baselines": null,
"CalendarId": null,
"leaf": true,
"children": null,
"TaskTemplateId": 0,
"OriginalID": null,
"InVisible": false,
"IsDetailTask": null,
"FromViewCRChanges": false,
"ChildrenRaw": [],
"Parent": null,
"ParentId": "4382",
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
},
{
"Name": "Task 2",
"StartDate": "2021-10-04",
"EndDate": "2021-10-11",
"Duration": 6,
"DurationUnit": "day",
"PercentDone": 0,
"SchedulingMode": "Normal",
"BaselineStartDate": null,
"BaselineEndDate": null,
"BaselinePercentDone": null,
"Cls": "",
"expanded": false,
"Effort": 8,
"EffortUnit": "hour",
"Note": null,
"ConstraintType": "startnoearlierthan",
"ConstraintDate": "2021-10-04",
"ManuallyScheduled": false,
"Draggable": true,
"Resizable": true,
"Rollup": false,
"ShowInTimeline": false,
"Color": null,
"DeadlineDate": null,
"index": null,
"Code": "TASK.00003",
"ProjectID": 90,
"ActualDuration": null,
"Baseline1StartDate": null,
"Baseline1EndDate": null,
"ActualStartDate": null,
"ActualFinishDate": null,
"CompletedPercentage": 0,
"ActualEffortHours": 0,
"Id": 4384,
"Baselines": null,
"CalendarId": null,
"leaf": true,
"children": null,
"TaskTemplateId": 0,
"OriginalID": null,
"InVisible": false,
"IsDetailTask": null,
"FromViewCRChanges": false,
"ChildrenRaw": [],
"Parent": null,
"ParentId": "4382",
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
}
],
"Parent": null,
"ParentId": null,
"PhantomParentIdForSessionTemp": null,
"PhantomIdForSessionTemp": null
}
]
},
"assignments": {
"rows": [],
"total": 0
},
"dependencies": {
"rows": [],
"total": 0
},
"revision": 7985,
"success": true,
"requestId": 16324569543240
}
Current Task 2 has Start Date: Monday Oct 4 2021, Finish Date: Monday Oct 11 2021, Duration: 6 days
I update calendar of Task 2 to Factory Worker it change Finish Date to Wednesday Oct 6 2021.
My expectation is Task 2 will select Oct 9 2021 when I update calendar to Factory Worker because Factory Worker calendar has 6 working days per week from Monday to Saturday.
Please help me check with the code above. Do my calendars configure right or wrong?
Please help me fix with the code above.
Thanks