Trabajar con Propiedades del Calendario
Visión General
Los calendarios en Microsoft Project definen el tiempo laborable y no laborable en todo el proyecto, así como para tareas y recursos individuales. Aspose.Tasks para .NET proporciona acceso programático a estos calendarios, incluida su jerarquía base, nombres e identificación única.
Este artículo describe cómo acceder y modificar las propiedades generales de los calendarios usando la API de Aspose.Tasks.
Propiedades Clave del Calendario
La clase
Calendar
expone varias propiedades fundamentales que definen la identidad y estructura del calendario:
BaseCalendar
: Hace referencia a otro calendario del cual hereda el calendario actual los tiempos laborables. Esta propiedad solo es aplicable si el calendario no es un calendario base en sí mismo.Name
: El nombre legible para humanos del calendario, usado para distinguirlo en la interfaz de usuario y los informes.Uid
: Un identificador entero único usado para rastrear y referenciar calendarios dentro del archivo del proyecto.
Estas propiedades son fundamentales al trabajar con colecciones de calendarios, asignar calendarios a recursos o exportar la estructura del proyecto a otros formatos.
Lectura de Metadatos del Calendario
El siguiente ejemplo de código demuestra cómo leer y mostrar propiedades generales del calendario como el nombre, el UID y la referencia del calendario 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}
Ejemplo de Caso de Uso
Estas propiedades se utilizan comúnmente en los siguientes escenarios:
- Generación de documentación o informes con resúmenes de calendarios.
- Realización de validaciones o transformaciones de la estructura del proyecto.
- Gestión de cadenas de herencia entre calendarios base y calendarios dependientes de tareas o recursos.
Al comprender y manipular estas propiedades fundamentales, los desarrolladores pueden gestionar mejor la lógica de programación y garantizar la compatibilidad con las expectativas de Microsoft Project.