Робота з властивостями календаря

Огляд

Календарі в Microsoft Project визначають робочий та неробочий час для всього проекту, а також для окремих завдань та ресурсів. Aspose.Tasks для .NET забезпечує програмний доступ до цих календарів, включаючи їх базову ієрархію, найменування та унікальну ідентифікацію.

Ця стаття описує, як отримувати доступ до загальних властивостей календарів та змінювати їх за допомогою API Aspose.Tasks.

Ключові властивості календаря

Клас Calendar надає кілька основних властивостей, які визначають ідентичність та структуру календаря:

Ці властивості є критично важливими при роботі з колекціями календарів, призначенні календарів ресурсам або експорті структури проекту в інші формати.

Читання метаданих календаря

Наступний приклад коду демонструє, як читати та відображати загальні властивості календаря, такі як назва, UID та посилання на базовий календар.

 1// Load an existing project
 2Project project = new Project("Project_GeneralCalendarProperties.xml");
 3
 4foreach (Calendar cal in project.Calendars)
 5{
 6    if (cal.Name != null)
 7    {
 8        Console.WriteLine("UID : " + cal.Uid.ToString() + " Name: " + cal.Name);
 9
10        // Show if it is has a base calendar
11        Console.Write("Base Calendar : ");
12        if (cal.IsBaseCalendar)
13            Console.WriteLine("Self");
14        else
15            Console.WriteLine(cal.BaseCalendar.Name);
16
17        // Get Time in hours on each working day
18        foreach (WeekDay wd in cal.WeekDays)
19        {
20            TimeSpan ts = wd.GetWorkingTime();
21            Console.WriteLine("Day Type: " + wd.DayType.ToString() + " Hours: " + ts.ToString());
22        }
23    }
24}

Приклад використання

Ці властивості зазвичай використовуються в наступних сценаріях:

Розуміючи та маніпулюючи цими основними властивостями, розробники можуть краще управляти логікою планування та забезпечувати сумісність з очікуваннями Microsoft Project.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.