data#
The input model. ProjectData is the full snapshot that Project.Solve, Project.Analyze and Engine.Schedule take. The other classes in this folder are its parts: config, calendars, tasks, links, resources and assignments. They're mutable classes with settable properties, so you build them with object initializers.
This folder also holds the shared types those records use: Id, Moment, Pause and the enums TimeUnit, CalendarMode and Basis. Most records and option classes in the package implement IDeepCloneable<T>, so DeepClone() gives you a copy that shares no list or nested record with the original. Every type here is in the Plen namespace.
- AssignmentDataOne resource booked on one task at a utilization rate, optionally for a slice of the task's work
- BasisBucket size for resource load and leveling, one hour or one day
- CalendarDataA named working calendar in the project data, with its ID and working time
- CalendarModeSelects which calendars place a task's work, resource calendars or task calendars only
- IDeepCloneable<T>The interface of records that can be deep-copied with DeepClone()
- IdThe id of a task, link, resource, assignment or calendar, either a number or a string
- LinkDataA dependency between two tasks in a project snapshot
- MomentA date and time at minute precision, without a time zone, used by every date field
- PauseA gap in a task's work, measured in elapsed time from the task start
- ProjectDataThe full project snapshot - config, calendars, tasks, links, resources and assignments
- ResourceDataOne input resource, with its ID, capacity and calendar
- SchedulingConfigProject-wide scheduling settings, such as constraints, direction, gap behavior, units and calendars
- TaskDataOne input task, with its dates, type, constraint, calendar and leveling fields
- TimeUnitThe unit of a task's duration or a link's lag
- WorktimeWorking hours, working weekdays and per-date exceptions of a calendar, with the TimeRange and DayRule types they use