Travailler avec les propriétés de calendrier
Vue d’ensemble
Les calendriers dans Microsoft Project définissent les périodes travaillées et non travaillées pour l’ensemble du projet, ainsi que pour les tâches et ressources individuelles. Aspose.Tasks for .NET offre un accès programmatique à ces calendriers, y compris leur hiérarchie de base, leur nom et leur identifiant unique.
Cet article décrit comment accéder aux propriétés générales des calendriers et les modifier à l’aide de l’API Aspose.Tasks.
Propriétés clés des calendriers
La classe
Calendar
expose plusieurs propriétés principales qui définissent l’identité et la structure du calendrier :
BaseCalendar
: Fait référence à un autre calendrier dont le calendrier actuel hérite les heures de travail. Cette propriété n’est applicable que si le calendrier n’est pas lui-même un calendrier de base.Name
: Le nom lisible du calendrier, utilisé pour le distinguer dans l’interface utilisateur et les rapports.Uid
: Un identifiant unique entier utilisé pour suivre et référencer les calendriers dans le fichier projet.
Ces propriétés sont essentielles pour travailler avec les collections de calendriers, affecter des calendriers à des ressources ou exporter la structure du projet vers d’autres formats.
Lecture des métadonnées du calendrier
L’exemple de code suivant montre comment lire et afficher les propriétés générales d’un calendrier telles que le nom, l’UID et la référence au calendrier de base.
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}
Exemple de cas d’utilisation
Ces propriétés sont couramment utilisées dans les scénarios suivants :
- Génération de documentation ou de rapports avec des résumés de calendriers.
- Validation ou transformation de la structure du projet.
- Gestion des chaînes d’héritage entre les calendriers de base et les calendriers dépendants des tâches/ressources.
En comprenant et en manipulant ces propriétés fondamentales, les développeurs peuvent mieux gérer la logique de planification et garantir la compatibilité avec les attentes de Microsoft Project.