Propiedades del calendario general
Contents
[
Hide
Show
]Propiedades del calendario general
Microsoft Project utiliza calendarios y otra información para calcular las fechas finales del proyecto. Aspose.Tasks for C ++ API admite la funcionalidad del calendario. Este artículo ilustra las propiedades del calendario que se pueden establecer y muestra cómo se aplican en el código.
El calendario expone una serie de propiedades utilizadas para definir el calendario base en Microsoft Outlook:
- Basecalendar - El calendario base. Esta propiedad admite el objeto Calendario para leer y escribir el calendario base para la instancia del calendario actual y solo es aplicable si la instancia del calendario actual ya no es un calendario base.
- Nombre: el nombre del calendario. Obtenga o establezca la propiedad con una cadena.
- UID - La identificación única del calendario. Entero.
El ejemplo del código que se da a continuación demuestra cómo obtener las propiedades del calendario general.
1// Load an existing project
2System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project_GeneralCalendarProperties.xml");
4
5
6{
7 auto cal_enumerator = (project->get_Calendars())->GetEnumerator();
8 decltype(cal_enumerator->get_Current()) cal;
9 while (cal_enumerator->MoveNext() && (cal = cal_enumerator->get_Current(), true))
10 {
11 if (cal->get_Name() != nullptr)
12 {
13 System::Console::WriteLine(System::String(u"UID : ") + System::Convert::ToString(cal->get_Uid()) + u" Name: " + cal->get_Name());
14
15 // Show if it is has a base calendar
16 System::Console::Write(u"Base Calendar : ");
17 if (cal->get_IsBaseCalendar())
18 {
19 System::Console::WriteLine(u"Self");
20 }
21 else
22 {
23 System::Console::WriteLine(cal->get_BaseCalendar()->get_Name());
24 }
25
26 // Get Time in hours on each working day
27
28 {
29 auto wd_enumerator = (cal->get_WeekDays())->GetEnumerator();
30 decltype(wd_enumerator->get_Current()) wd;
31 while (wd_enumerator->MoveNext() && (wd = wd_enumerator->get_Current(), true))
32 {
33 System::TimeSpan ts = wd->GetWorkingTime();
34 System::Console::WriteLine(System::String(u"Day Type: ") + System::ObjectExt::ToString(wd->get_DayType()) + u" Hours: " + System::ObjectExt::ToString(ts));
35 }
36 }
37 }
38 }
39}