Class Calendar
Содержание
[
Скрывать
]Calendar class
Представляет календарь, используемый в проекте.
public class Calendar
Характеристики
Имя | Описание |
---|---|
BaseCalendar { get; set; } | Получает или задает базовый календарь, от которого зависит этот календарь. Применяется только в том случае, если календарь не является базовым. |
Exceptions { get; } | Получает объект CalendarExceptionCollection. Коллекция исключений, связанных с календарем. |
IsBaseCalendar { get; } | Получает значение, указывающее, является ли календарь базовым календарем. |
IsBaselineCalendar { get; set; } | Получает или задает значение, указывающее, является ли календарь базовым календарем. |
Name { get; set; } | Получает или задает имя календаря. |
Uid { get; set; } | Получает или задает уникальный идентификатор календаря. |
WeekDays { get; } | Получает WeekDaysCollection для этого календаря. Коллекция дней недели, которая определяет календарь. |
WorkWeeks { get; } | Получает объект WorkWeekCollections. Коллекция рабочих недель, связанная с календарем. |
Методы
Имя | Описание |
---|---|
static Make24HourCalendar(Calendar) | Делает данный календарь 24-часовым календарем. 24-часовой календарь — это календарь, в котором каждый день недели работает с круглосуточным рабочим временем. |
static MakeNightShiftCalendar(Calendar) | Делает данный календарь календарем ночной смены. |
static MakeStandardCalendar(Calendar) | Создает стандартный календарь по умолчанию. |
Delete() | Удаляет календарь из проекта. |
override Equals(object) | Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. |
GetFinishDateByStartAndWork(DateTime, Duration) | Вычисляет дату, когда пройдет указанное количество рабочего времени по календарю. |
GetFinishDateByStartAndWork(DateTime, TimeSpan) | Вычисляет дату, когда пройдет указанное количество рабочего времени по календарю. |
override GetHashCode() | Возвращает хэш-код экземпляра класса. |
GetNextWorkingDayStart(DateTime) | Рассчитывает начало следующего рабочего дня с даты. |
GetPreviousWorkingDayEnd(DateTime) | Вычисляет конец предыдущей рабочей даты от указанной даты. |
GetStartDateFromFinishAndDuration(DateTime, Duration) | Возвращает StartDate на основе указанных FinishDate и Duration. |
GetStartDateFromFinishAndDuration(DateTime, TimeSpan) | Возвращает StartDate на основе указанных FinishDate и Duration. |
GetTaskFinishDateFromDuration(Task, TimeSpan) | Вычисляет дату и время окончания задачи, исходя из даты ее начала, разделенных частей и продолжительности. |
GetWorkingHours(DateTime) | Возвращает количество рабочих часов на дату. |
GetWorkingHours(DateTime, DateTime) | Возврат рабочего времени для указанных дат. |
GetWorkingTimes(DateTime) | ВозвращаетWorkingTimeCollection рабочего времени на указанную дату. |
IsDayWorking(DateTime) | Определяет, является ли день рабочим. |
Примечания
Календари используются для определения стандартного рабочего и нерабочего времени. Проекты должны иметь один базовый календарь. Задачи и ресурсы могут иметь собственные небазовые календари, основанные на базовом календаре.
Примеры
Как создать простой календарь с нуля.
[C#]
// создаем пустой календарь
Calendar calendar = new Calendar("New calendar");
// добавляем рабочие дни по умолчанию (8 рабочих часов с 9:00 до 17:00)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
// создаем новый новый рабочий день
WeekDay myWeekDay = new WeekDay(DayType.Thursday);
// Устанавливает рабочее время. Важна только временная часть DateTime
WorkingTime wt1 = new WorkingTime();
wt1.FromTime = new DateTime(1, 1, 1, 6, 0, 0, 0);
wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0);
WorkingTime wt2 = new WorkingTime();
wt2.FromTime = new DateTime(1, 1, 1, 14, 0, 0, 0);
wt2.ToTime = new DateTime(1, 1, 1, 18, 0, 0, 0);
myWeekDay.WorkingTimes.Add(wt1);
myWeekDay.WorkingTimes.Add(wt2);
myWeekDay.DayWorking = true;
calendar.Days.Add(myWeekDay);
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday));
// добавляем выходные
calendar.Days.Add(new WeekDay(DayType.Saturday));
calendar.Days.Add(new WeekDay(DayType.Sunday));
[VB]
' создать пустой календарь
Dim calendar As Calendar = New Calendar("New calendar")
' добавляет рабочие дни по умолчанию (8 рабочих часов с 9:00 до 17:00)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday))
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday))
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday))
' создать новый новый рабочий день
Dim myWeekDay As WeekDay = New WeekDay(DayType.Thursday)
' Устанавливает рабочее время. Важна только временная часть DateTime
Dim wt1 As WorkingTime = New WorkingTime()
wt1.FromTime = New DateTime(1, 1, 1, 6, 0, 0, 0)
wt1.ToTime = New DateTime(1, 1, 1, 12, 0, 0, 0)
Dim wt2 As WorkingTime = New WorkingTime()
wt2.FromTime = New DateTime(1, 1, 1, 14, 0, 0, 0)
wt2.ToTime = New DateTime(1, 1, 1, 18, 0, 0, 0)
myWeekDay.WorkingTimes.Add(wt1)
myWeekDay.WorkingTimes.Add(wt2)
myWeekDay.DayWorking = True
calendar.Days.Add(myWeekDay)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday))
' добавляет выходные
calendar.Days.Add(New WeekDay(DayType.Saturday))
calendar.Days.Add(New WeekDay(DayType.Sunday))
Смотрите также
- пространство имен Aspose.Tasks
- сборка Aspose.Tasks