Class Calendar
Namespace: Aspose.Tasks
Assembly: Aspose.Tasks.dll (25.2.0)
Представляє календар, що використовується в проекті.
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Calendar
Спадкування
Спадковані члени
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Приклади
Як створити простий календар з нуля.
// створити порожній календар
Calendar 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));
```````csharp
[VB]
' створити порожній календар
Dim calendar As 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))
Зауваження
Календари використовуються для визначення стандартних робочих і неробочих часів. Проекти повинні мати один базовий календар. Завдання та ресурси можуть мати свої власні небазові календарі, які базуються на базовому календарі.
Властивості
BaseCalendar
Отримує або задає базовий календар, від якого залежить цей календар. Доступно лише, якщо календар не є базовим.
public Calendar BaseCalendar { get; set; }
Значення властивості
Exceptions
Отримує об’єкт CalendarExceptionCollection. Колекція виключень, пов’язана з календарем.
public CalendarExceptionCollection Exceptions { get; }
Значення властивості
Guid
Отримує Guid календаря.
public string Guid { get; }
Значення властивості
IsBaseCalendar
Отримує значення, що вказує, чи є календар базовим календарем.
public bool IsBaseCalendar { get; }
Значення властивості
IsBaselineCalendar
Отримує або задає значення, що вказує, чи є календар базовим календарем.
public bool IsBaselineCalendar { get; set; }
Значення властивості
Name
Отримує або задає назву календаря.
public string Name { get; set; }
Значення властивості
Uid
Отримує або задає унікальний ідентифікатор календаря.
public int Uid { get; set; }
Значення властивості
WeekDays
Отримує WeekDaysCollection для цього календаря. Колекція днів тижня, яка визначає календар.
public WeekDayCollection WeekDays { get; }
Значення властивості
WorkWeeks
Отримує об’єкт WorkWeekCollections. Колекція робочих тижнів, пов’язана з календарем.
public WorkWeekCollection WorkWeeks { get; }
Значення властивості
Методи
Delete()
Видаляє календар з проекту.
public void Delete()
Equals(object)
Повертає значення, що вказує, чи є цей екземпляр рівним вказаному об’єкту.
public override bool Equals(object obj)
Параметри
obj
object
Об’єкт для порівняння з цим екземпляром.
Повертає
True, якщо o є Calendar, який має таке ж значення Uid, як цей екземпляр; в іншому випадку false.
GetFinishDateByStartAndWork(DateTime, Duration)
Обчислює дату, коли вказана кількість робочого часу пройде відповідно до календаря.
public DateTime GetFinishDateByStartAndWork(DateTime start, Duration work)
Параметри
start
DateTime
Дата початку.
work
Duration
Тривалість роботи.
Повертає
Дата закінчення.
GetFinishDateByStartAndWork(DateTime, TimeSpan)
Обчислює дату, коли вказана кількість робочого часу пройде відповідно до календаря.
public DateTime GetFinishDateByStartAndWork(DateTime start, TimeSpan work)
Параметри
start
DateTime
Дата початку.
work
TimeSpan
Тривалість роботи.
Повертає
Дата закінчення.
GetHashCode()
Повертає хеш-код для екземпляра класу.
public override int GetHashCode()
Повертає
хеш-код для цього об’єкта.
GetNextWorkingDayStart(DateTime)
Обчислює наступний робочий день, починаючи з дати.
public DateTime GetNextWorkingDayStart(DateTime date)
Параметри
date
DateTime
Дата, для якої потрібно отримати початок наступного робочого дня.
Повертає
Початок наступного робочого дня System.DateTime.
GetPreviousWorkingDayEnd(DateTime)
Обчислює кінець попереднього робочого дня з вказаної дати.
public DateTime GetPreviousWorkingDayEnd(DateTime date)
Параметри
date
DateTime
вказаний екземпляр структури System.DateTime.
Повертає
Кінець попереднього робочого дня System.DateTime
GetStartDateFromFinishAndDuration(DateTime, Duration)
Повертає StartDate на основі вказаного FinishDate і Duration.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, Duration duration)
Параметри
finish
DateTime
Вказана дата закінчення.
duration
Duration
Вказана тривалість роботи.
Повертає
Обчислений StartDate.
GetStartDateFromFinishAndDuration(DateTime, TimeSpan)
Повертає StartDate на основі вказаного FinishDate і Duration.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, TimeSpan duration)
Параметри
finish
DateTime
Вказана дата закінчення.
duration
TimeSpan
Вказана тривалість роботи.
Повертає
Обчислений StartDate.
GetTaskFinishDateFromDuration(Task, TimeSpan)
Обчислює дату та час закінчення завдання на основі його дати початку, частин та тривалості.
public DateTime GetTaskFinishDateFromDuration(Task task, TimeSpan duration)
Параметри
task
Task
Завдання, для якого потрібно отримати дату закінчення.
duration
TimeSpan
Тривалість завдання для розподілу.
Повертає
Дата закінчення завдання.
Зауваження
Повертає DateTime.MinValue, якщо завдання є підсумковим, null або якщо його дата початку не встановлена.
GetWorkingHours(DateTime, DateTime)
Повертає робочі години для вказаних дат.
public WorkUnit GetWorkingHours(DateTime start, DateTime finish)
Параметри
start
DateTime
Дата початку.
finish
DateTime
Дата закінчення.
Повертає
Робочі години.
GetWorkingHours(DateTime)
Повертає кількість робочих годин на дату.
public TimeSpan GetWorkingHours(DateTime dt)
Параметри
dt
DateTime
Дата, для якої потрібно отримати робочі години.
Повертає
Робочі години.
GetWorkingTimes(DateTime)
Повертає Aspose.Tasks.WorkingTimeCollection робочих часів для вказаної дати.
public WorkingTimeCollection GetWorkingTimes(DateTime dt)
Параметри
dt
DateTime
Дата, для якої потрібно отримати робочі часи.
Повертає
Список Aspose.Tasks.WorkingTime.
IsDayWorking(DateTime)
Визначає, чи є день робочим днем.
public bool IsDayWorking(DateTime dt)
Параметри
dt
DateTime
Дата, для якої потрібно перевірити, чи є день робочим.
Повертає
True, якщо день є робочим днем.
Make24HourCalendar(Calendar)
Перетворює заданий календар у 24-годинний календар. 24-годинний календар – це календар, в якому кожен день тижня є робочим з цілодобовими робочими годинами.
public static Calendar Make24HourCalendar(Calendar calendar)
Параметри
calendar
Calendar
Календар, з якого потрібно створити 24-годинний календар.
Повертає
24-годинний календар.
MakeNightShiftCalendar(Calendar)
Перетворює заданий календар у нічний змінний календар.
public static Calendar MakeNightShiftCalendar(Calendar calendar)
Параметри
calendar
Calendar
Календар, з якого потрібно створити нічний змінний календар.
Повертає
Нічний змінний календар.
MakeStandardCalendar(Calendar)
Створює стандартний календар за замовчуванням.
public static Calendar MakeStandardCalendar(Calendar calendar)
Параметри
calendar
Calendar
Календар, з якого потрібно створити стандартний календар.
Повертає
Календар з 5 робочими днями (понеділок-п’ятниця) з робочими часами 8-12 та 13-17.