Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

ProjectCalendar

Namespace OfficeIMO.Project
Assembly OfficeIMO.Project
Modifiers sealed

A base or derived calendar with stored working days and exceptions; no scheduling runs during editing.

Inheritance

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Methods

public DateTime AddWorkingMinutes(DateTime start, Decimal minutes, Int32 maxCalendarDays = 36600, CancellationToken cancellationToken = default) #
Returns: DateTime

Adds signed working minutes, skipping non-working intervals. Uses local wall time without host timezone or DST conversion.

Parameters

start System.DateTime requiredposition: 0
minutes System.Decimal requiredposition: 1
maxCalendarDays System.Int32 = 36600 optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
public IReadOnlyList<ProjectWorkingRange> GetWorkingIntervals(DateTime date, CancellationToken cancellationToken = default) #
Returns: IReadOnlyList<ProjectWorkingRange>

Returns effective intervals within one local date, including an overnight shift started the preceding day.

Parameters

date System.DateTime requiredposition: 0
cancellationToken System.Threading.CancellationToken = default optionalposition: 1
public ProjectWeekDay SetWorkingDay(DayOfWeek day, params ProjectWorkingTime[] times) #
Returns: ProjectWeekDay

Replaces the working intervals for a day without changing other calendar days.

Parameters

day System.DayOfWeek requiredposition: 0
times OfficeIMO.Project.ProjectWorkingTime[] requiredposition: 1
public Decimal WorkingMinutesBetween(DateTime start, DateTime finish, Int32 maxCalendarDays = 36600, CancellationToken cancellationToken = default) #
Returns: Decimal

Counts signed working minutes between local dates. Split shifts are counted once, even when intervals overlap.

Parameters

start System.DateTime requiredposition: 0
finish System.DateTime requiredposition: 1
maxCalendarDays System.Int32 = 36600 optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3

Properties

public ProjectCalendar BaseCalendar { get; set; } #

The inherited calendar, or null for a base calendar.

public Nullable<Boolean> IsBaseCalendar { get; set; } #

Source base-calendar flag; null preserves absence.

public ProjectCollection<ProjectWeekDay> WeekDays { get; } #

Explicit day-of-week declarations; absent days may be inherited.

public ProjectCollection<ProjectCalendarException> Exceptions { get; } #

Date exceptions, including retained unmodeled recurrence data.

public ProjectCollection<ProjectWorkWeek> WorkWeeks { get; } #

Date-bounded weekday overrides, applied after date exceptions and before the ordinary week.