ScheduleInput
Everything ProjectScheduler.Schedule() needs to schedule a plan: the
tasks, the links between them, the project's first day and the working calendar.
public sealed class ScheduleInput
Remarks
Every property is optional; an input with nothing set schedules an empty plan. The charts build one
of these from their own Tasks, Links, ProjectStart, WorkingWeek and
Holidays properties, so an application that schedules the same plan with the same settings
gets the same dates the charts draw.
Examples
ProjectSchedule schedule = ProjectScheduler.Schedule(new ScheduleInput
{
Tasks = tasks,
Links = links,
ProjectStart = new DateTime(2026, 11, 2),
WorkingDays = new[] { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday },
Holidays = new[] { new DateTime(2026, 12, 25), new DateTime(2026, 12, 28) }
});See also
Members at a glance
| Properties | |
|---|---|
Holidays | Gets or sets the dates that are not worked, such as public holidays and shutdowns. |
Links | Gets or sets the links between the tasks. |
ProjectStart | Gets or sets the first day work can happen: working-day index 0 of the plan's calendar. |
Tasks | Gets or sets the tasks of the plan. |
WorkingDays | Gets or sets the days of the week that are worked. |
Properties
Holidays
Gets or sets the dates that are not worked, such as public holidays and shutdowns.
- Value
- Dates; only their date part is read. The default is
null: none.
Links
Gets or sets the links between the tasks.
- Value
- The default is
null: no links. Null entries are skipped; links that cannot be honoured are left out and reported inProjectSchedule.Problems.
ProjectStart
Gets or sets the first day work can happen: working-day index 0 of the plan's calendar.
- Value
- A date; only its date part is read, and a day that is not worked is moved to the next working
day. The default is
null, which takes the earliest plannedProjectTask.Startin the plan, then the earliest plannedProjectTask.Finish, and failing both, today's date.
Remarks
No task is scheduled before it, except one whose ProjectTask.Constraint is
TaskConstraintKind.MustStartOn an earlier date.
Tasks
Gets or sets the tasks of the plan.
- Value
- The tasks, in outline order within each parent: subtasks are numbered and shown in the order
they appear here. The default is
null, an empty plan. Null entries and tasks with noProjectTask.Idare skipped.
WorkingDays
Gets or sets the days of the week that are worked.
- Value
- The default is
null: Monday to Friday (WorkCalendar.DefaultWorkingDays). A list with no valid day in it is read as every day being worked.