Last active
October 31, 2020 15:14
-
-
Save aspose-com-gists/85d3cb818a62006b9ae8f8e3eaab6f80 to your computer and use it in GitHub Desktop.
Aspose.Tasks for C++
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Gists for Aspose.Tasks for C++. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); | |
options->set_View(ProjectView::GetDefaultGanttChartView()); | |
System::SharedPtr<GanttChartColumn> column1 = System::DynamicCast_noexcept<Aspose::Tasks::Visualization::GanttChartColumn>(options->get_View()->get_Columns()->idx_get(2)); | |
column1->set_StringAlignment(System::Drawing::StringAlignment::Center); | |
column1 = System::DynamicCast_noexcept<Aspose::Tasks::Visualization::GanttChartColumn>(options->get_View()->get_Columns()->idx_get(3)); | |
column1->set_StringAlignment(System::Drawing::StringAlignment::Far); | |
column1 = System::DynamicCast_noexcept<Aspose::Tasks::Visualization::GanttChartColumn>(options->get_View()->get_Columns()->idx_get(4)); | |
column1->set_StringAlignment(System::Drawing::StringAlignment::Far); | |
project->Save(dataDir + u"AlignCellContents_GanttChart_out.pdf", options); | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::ResourceSheet); | |
options->set_View(ProjectView::GetDefaultResourceSheetView()); | |
System::SharedPtr<ResourceViewColumn> column2 = System::DynamicCast_noexcept<Aspose::Tasks::Visualization::ResourceViewColumn>(options->get_View()->get_Columns()->idx_get(2)); | |
column2->set_StringAlignment(System::Drawing::StringAlignment::Center); | |
column2 = System::DynamicCast_noexcept<Aspose::Tasks::Visualization::ResourceViewColumn>(options->get_View()->get_Columns()->idx_get(3)); | |
column2->set_StringAlignment(System::Drawing::StringAlignment::Far); | |
column2 = System::DynamicCast_noexcept<Aspose::Tasks::Visualization::ResourceViewColumn>(options->get_View()->get_Columns()->idx_get(4)); | |
column2->set_StringAlignment(System::Drawing::StringAlignment::Far); | |
project->Save(dataDir + u"AlignCellContents_ResourceSheet_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
System::SharedPtr<SaveOptions> options = System::MakeObject<XamlOptions>(); | |
options->set_UseGradientBrush(false); | |
project->Save(dataDir + u"ChangeGanttBarsColorGradient_Solid_out.xaml", options); | |
options->set_UseGradientBrush(true); | |
project->Save(dataDir + u"ChangeGanttBarsColorGradient_Gradient_out.xaml", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
task1->Set<Duration>(Tsk::Duration(), project->GetDuration(1, Aspose::Tasks::TimeUnitType::Day)); | |
task2->Set<Duration>(Tsk::Duration(), project->GetDuration(1, Aspose::Tasks::TimeUnitType::Day)); | |
System::SharedPtr<TaskLink> link = project->get_TaskLinks()->Add(task1, task2, Aspose::Tasks::TaskLinkType::FinishToStart); | |
System::SharedPtr<Task> task3 = project->get_RootTask()->get_Children()->Add(u"Task 3"); | |
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Resource 1"); | |
System::SharedPtr<Resource> rsc2 = project->get_Resources()->Add(u"Resource 2"); | |
System::SharedPtr<Resource> rsc3 = project->get_Resources()->Add(u"Resource 3"); | |
System::SharedPtr<ResourceAssignment> assn1 = project->get_ResourceAssignments()->Add(task1, rsc1); | |
System::SharedPtr<ResourceAssignment> assn2 = project->get_ResourceAssignments()->Add(task2, rsc2); | |
System::SharedPtr<ResourceAssignment> assn3 = project->get_ResourceAssignments()->Add(task3, rsc3); | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
System::SharedPtr<BarStyle> style = System::MakeObject<BarStyle>(); | |
style->set_ItemType(Aspose::Tasks::Visualization::BarItemType::CriticalTask); | |
style->set_BarTextConverter(&CustomizeTextWithTaskBars::_anonymous_method_0); | |
System::SharedPtr<BarStyle> style2 = System::MakeObject<BarStyle>(); | |
style2->set_BarColor(System::Drawing::Color::get_DarkOrchid()); | |
style2->set_ItemType(Aspose::Tasks::Visualization::BarItemType::Task); | |
options->set_BarStyles(System::MakeObject<System::Collections::Generic::List<System::SharedPtr<BarStyle>>>()); | |
options->get_BarStyles()->Add(style); | |
options->get_BarStyles()->Add(style2); | |
project->Save(dataDir + u"result2.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CustomBarStyle.mpp"); | |
System::SharedPtr<GanttChartView> view = System::DynamicCast_noexcept<Aspose::Tasks::GanttChartView>(project->get_DefaultView()); | |
System::Console::WriteLine(u"Custom bar styles count: {0}", System::ObjectExt::Box<int32_t>(view->get_CustomBarStyles()->get_Count())); | |
System::SharedPtr<GanttBarStyle> style1 = view->get_CustomBarStyles()->idx_get(0); | |
System::Console::WriteLine(u"Style1.LeftField is TaskDurationText : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style1->get_LeftField(), Aspose::Tasks::Field::TaskDurationText))); | |
System::Console::WriteLine(u"Style1.RightField is TaskResourceNames : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style1->get_RightField(), Aspose::Tasks::Field::TaskResourceNames))); | |
System::Console::WriteLine(u"Style1.TopField is TaskACWP: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style1->get_TopField(), Aspose::Tasks::Field::TaskACWP))); | |
System::Console::WriteLine(u"Style1.BottomField is Undefined : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style1->get_BottomField(), Aspose::Tasks::Field::Undefined))); | |
System::Console::WriteLine(u"Style1.InsideField is Undefined : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style1->get_InsideField(), Aspose::Tasks::Field::Undefined))); | |
System::SharedPtr<GanttBarStyle> style2 = view->get_CustomBarStyles()->idx_get(1); | |
System::Console::WriteLine(u"Style2.LeftField is TaskActualWork : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style2->get_LeftField(), Aspose::Tasks::Field::TaskActualWork))); | |
System::Console::WriteLine(u"Style2.RightField is TaskActualCost : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style2->get_RightField(), Aspose::Tasks::Field::TaskActualCost))); | |
System::Console::WriteLine(u"Style2.TopField is Undefined : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style2->get_TopField(), Aspose::Tasks::Field::Undefined))); | |
System::Console::WriteLine(u"Style2.BottomField is Undefined : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style2->get_BottomField(), Aspose::Tasks::Field::Undefined))); | |
System::Console::WriteLine(u"Style2.InsideField is Undefined : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style2->get_InsideField(), Aspose::Tasks::Field::Undefined))); | |
System::SharedPtr<GanttBarStyle> style3 = view->get_CustomBarStyles()->idx_get(2); | |
System::Console::WriteLine(u"Style3.LeftField is TaskPercentComplete : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_LeftField(), Aspose::Tasks::Field::TaskPercentComplete))); | |
System::Console::WriteLine(u"Style3.RightField is TaskPercentWorkComplete : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_RightField(), Aspose::Tasks::Field::TaskPercentWorkComplete))); | |
System::Console::WriteLine(u"Style3.TopField is Field.TaskActive : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_TopField(), Aspose::Tasks::Field::TaskActive))); | |
System::Console::WriteLine(u"Style3.BottomField is TaskActualCost : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_BottomField(), Aspose::Tasks::Field::TaskActualCost))); | |
System::Console::WriteLine(u"Style3.InsideField is Field.TaskActualDuration : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_InsideField(), Aspose::Tasks::Field::TaskActualDuration))); | |
System::Console::WriteLine(u"Style3.StartShape is HouseDown : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_StartShape(), Aspose::Tasks::Visualization::GanttBarEndShape::HouseDown))); | |
System::Console::WriteLine(u"Style3.StartShapeType is Framed : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_StartShapeType(), Aspose::Tasks::Visualization::GanttBarType::Framed))); | |
System::Console::WriteLine(u"Style3.StartShapeColor is Red : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_StartShapeColor(), System::Drawing::Color::FromArgb(System::Drawing::Color::get_Red().ToArgb())))); | |
System::Console::WriteLine(u"Style3.EndShape is CircleDiamond : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_EndShape(), Aspose::Tasks::Visualization::GanttBarEndShape::CircleDiamond))); | |
System::Console::WriteLine(u"Style3.EndShapeType is Solid : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_EndShapeType(), Aspose::Tasks::Visualization::GanttBarType::Solid))); | |
System::Console::WriteLine(u"Style3.EndShapeColor is Yellow : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_EndShapeColor(), System::Drawing::Color::FromArgb(System::Drawing::Color::get_Yellow().ToArgb())))); | |
System::Console::WriteLine(u"Style3.MiddleShape is RectangleTop : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_MiddleShape(), Aspose::Tasks::Visualization::GanttBarMiddleShape::RectangleTop))); | |
System::Console::WriteLine(u"Style3.MiddleFillPattern is SolidFill : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_MiddleFillPattern(), Aspose::Tasks::Visualization::GanttBarFillPattern::SolidFill))); | |
System::Console::WriteLine(u"Style3.EndShapeColor is Red : {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(style3->get_MiddleShapeColor(), System::Drawing::Color::FromArgb(System::Drawing::Color::get_Red().ToArgb())))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
PresentationFormat presentationFormat = Aspose::Tasks::Visualization::PresentationFormat::GanttChart; | |
System::String resultFile = System::String(u"RenderDifferentPresentationFormatsToXAML_") + System::ObjectExt::ToString(presentationFormat) + u"_out.xaml"; | |
System::SharedPtr<SaveOptions> options = System::MakeObject<XamlOptions>(); | |
options->set_PresentationFormat(presentationFormat); | |
project->Save(dataDir + resultFile, options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::GanttChart); | |
options->set_FitContent(true); | |
options->set_RollUpGanttBars(false); | |
options->set_DrawNonWorkingTime(false); | |
options->set_PageSize(Aspose::Tasks::Visualization::PageSize::A3); | |
System::String file = System::IO::Path::Combine(dataDir, fileName); | |
System::String resultFile = System::IO::Path::Combine(dataDir, u"RenderGanttChartWithBarsNotRolledUp_out.pdf"); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(file); | |
project->Save(resultFile, System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::GanttChart); | |
options->set_FitContent(true); | |
options->set_RollUpGanttBars(true); | |
options->set_DrawNonWorkingTime(true); | |
options->set_PageSize(Aspose::Tasks::Visualization::PageSize::A3); | |
System::String file = System::IO::Path::Combine(dataDir, fileName); | |
System::String resultFile = System::IO::Path::Combine(dataDir, u"RenderGanttChartWithBarsNotRolledUp_out.pdf"); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(file); | |
//for (int i = 14; i <= 23; i++) | |
// project.GetTaskById(i).HideBar = false; | |
project->Save(resultFile, System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Source file to be converted to TIFF | |
System::String file = u"Project2.mpp"; | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + file); | |
// Save the project to TIFF | |
project->Save(dataDir + u"RenderMultipageTIFF_out.tif", Aspose::Tasks::Saving::SaveFileFormat::TIFF); | |
// Save the project with CCITT4 compression | |
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::TIFF); | |
options->set_TiffCompression(Aspose::Tasks::Saving::TiffCompression::Ccitt4); | |
project->Save(dataDir + u"RenderMultipageTIFF_options_out.tif", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); | |
// Remove the compression | |
options->set_TiffCompression(Aspose::Tasks::Saving::TiffCompression::None); | |
project->Save(dataDir + u"RenderMultipageTIFF_comp_none_out.tif", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Source File to Render | |
System::String fileName = u"Project2.mpp"; | |
// Read the Project | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + fileName); | |
// Select a Presentation format | |
PresentationFormat format = Aspose::Tasks::Visualization::PresentationFormat::GanttChart; | |
// Render the project to all Pre-Defined page sizes | |
{ | |
for (PageSize pageSize : System::DynamicCast<System::Array<Aspose::Tasks::Visualization::PageSize>>(System::Enum<PageSize>::GetValues())) | |
{ | |
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_PresentationFormat(format); | |
options->set_FitContent(true); | |
options->set_PageSize(pageSize); | |
System::String resultFile = System::String(u"result_PredefinedPageSizes_") + System::ObjectExt::ToString(format) + u"_" + System::ObjectExt::ToString(pageSize) + u"_out.pdf"; | |
project1->Save(dataDir + resultFile, System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
System::String resultFile = u"RenderToXAML_out.xaml"; | |
project->Save(dataDir + resultFile, Aspose::Tasks::Saving::SaveFileFormat::XAML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
const System::String resultFile = u"RenderXAMLWithOptions_out.xaml"; | |
System::SharedPtr<SaveOptions> options = System::MakeObject<XamlOptions>(); | |
options->set_FitContent(true); | |
options->set_LegendOnEachPage(false); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project->Save(dataDir + resultFile, options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
project->Set(Prj::TimescaleStart(), System::DateTime(2012, 4, 30)); | |
project->Save(dataDir + u"SetGanttChartViewStartDate_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
// Save to one page image (Timescale.days by default) | |
project->Save(u"NewProductDevDays.jpeg", System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::JPEG)); | |
// Save to one page image (Timescale.ThirdsOfMonths) | |
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::JPEG); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project->Save(u"NewProductDevThirdsOfMonths.jpeg", options); | |
// Save to one page image (Timescale.Months) | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); | |
project->Save(u"NewProductDevMonths.jpeg", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
auto options = [&]{ auto tmp_0 = System::MakeObject<PdfSaveOptions>(); tmp_0->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::GanttChart); tmp_0->set_FitContent(true); tmp_0->set_UseProjectDefaultFont(false); tmp_0->set_DefaultFontName(u"Segoe UI Black"); return tmp_0; }(); | |
project->Save(dataDir + u"CreateProject2_out.pdf", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<HtmlSaveOptions> options = [&]{ auto tmp_0 = System::MakeObject<HtmlSaveOptions>(); tmp_0->set_CssStylePrefix(u"test_prefix"); return tmp_0; }(); | |
project->Save(dataDir + u"TestCssStylePrefix_out.html", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<HtmlSaveOptions> htmlSaveOptions = System::MakeObject<HtmlSaveOptions>(); | |
// Determines whether to include project name in HTML title (true by default) | |
htmlSaveOptions->set_IncludeProjectNameInTitle(false); | |
// Determines whether to include project name in HTML page header (true by default) | |
htmlSaveOptions->set_IncludeProjectNameInPageHeader(false); | |
htmlSaveOptions->set_Pages(System::MakeObject<System::Collections::Generic::List<int32_t>>()); | |
htmlSaveOptions->get_Pages()->Add(1); | |
project->Save(dataDir + u"ControlHeaderNameDuringHTMLExport_out.html", htmlSaveOptions); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
project->Set(Prj::StartDate(), System::DateTime(2014, 9, 22)); | |
// By default project.DateFormat == DateFormat.Date_ddd_mm_dd_yy (Mon 09/22/14) customize DateFormat (September 22, 2014) | |
project->Set<DateFormat>(Prj::DateFormat(), Aspose::Tasks::DateFormat::DateMmmmDdYyyy); | |
project->Save(dataDir + u"CustomizeDateFormats1_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); | |
// Export to date format 19/07/2016 | |
project->Set<DateFormat>(Prj::DateFormat(), Aspose::Tasks::DateFormat::DateDdMmYyyy); | |
project->Save(dataDir + u"CustomizeDateFormats2_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::ResourceSheet); | |
System::SharedPtr<TextStyle> style = System::MakeObject<TextStyle>(); | |
style->set_Color(System::Drawing::Color::get_OrangeRed()); | |
style->set_FontStyle(System::Drawing::FontStyle::Bold); | |
System::setter_or_wrap(style.GetPointer(), &TextStyle::get_FontStyle, &TextStyle::set_FontStyle, System::Drawing::FontStyle::Italic); | |
style->set_ItemType(Aspose::Tasks::Visualization::TextItemType::OverallocatedResources); | |
options->set_TextStyles(System::MakeObject<System::Collections::Generic::List<System::SharedPtr<TextStyle>>>()); | |
options->get_TextStyles()->Add(style); | |
project->Save(dataDir + u"CustomizeTextStyle_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<SaveOptions> saveOptions = System::MakeObject<PdfSaveOptions>(); | |
// Set option fit content to true | |
saveOptions->set_FitContent(true); | |
saveOptions->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); | |
saveOptions->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::TaskUsage); | |
project->Save(dataDir + u"FitContentsToCellSize_out.pdf", saveOptions); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<SaveOptions> saveOptions = System::MakeObject<PdfSaveOptions>(); | |
// Set the LegendOnEachPage property to false to hide legends | |
saveOptions->set_LegendOnEachPage(false); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<ImageSaveOptions> saveOptions = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::PNG); | |
saveOptions->set_StartDate(project->Get<System::DateTime>(Prj::StartDate()).AddDays(-3)); | |
saveOptions->set_EndDate(project->Get<System::DateTime>(Prj::FinishDate())); | |
saveOptions->set_MarkCriticalTasks(true); | |
saveOptions->set_LegendOnEachPage(false); | |
saveOptions->set_Gridlines(System::MakeObject<System::Collections::Generic::List<System::SharedPtr<Gridline>>>()); | |
System::SharedPtr<Gridline> gridline = System::MakeObject<Gridline>(); | |
gridline->set_GridlineType(Aspose::Tasks::Visualization::GridlineType::GanttRow); | |
gridline->set_Color(System::Drawing::Color::get_CornflowerBlue()); | |
gridline->set_Pattern(Aspose::Tasks::Visualization::LinePattern::Dashed); | |
saveOptions->get_Gridlines()->Add(gridline); | |
// Save the whole project layout to one file | |
project->Save(dataDir + u"PrintProjectPagesToSeparateFiles1_out.png", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(saveOptions)); | |
// Save project layout to separate files | |
saveOptions->set_SaveToSeparateFiles(true); | |
project->Save(dataDir + u"PrintProjectPagesToSeparateFiles2_out.png", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(saveOptions)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Input.mpp"); | |
project->get_DefaultView()->get_PageInfo()->get_PageViewSettings()->set_PrintNotes(true); | |
project->Save(dataDir + u"ProjectWithComments.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"TestProject1.mpp"); | |
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::TIFF); | |
options->set_HorizontalResolution(72.0f); | |
options->set_VerticalResolution(72.0f); | |
options->set_PixelFormat(System::Drawing::Imaging::PixelFormat::Format24bppRgb); | |
project->Save(dataDir + u"RenderProjectDataToFormat24bppRgb_out.tif", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject1.mpp"); | |
project->Save(dataDir + u"SaveProjectAsCSV_out.csv", Aspose::Tasks::Saving::SaveFileFormat::CSV); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
// in order to manipulate JPEG quality one can use ImageSaveOptions.JpegQuality property. | |
// The allowed value range is 0..100. | |
auto options = [&]{ auto tmp_0 = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::JPEG); tmp_0->set_JpegQuality(50); return tmp_0; }(); | |
project->Save(dataDir + u"image_out.jpeg", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(options)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
// Save the Project as PDF | |
project->Save(dataDir + u"SaveProjectAsPDF_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject1.mpp"); | |
// Save the Project as SVG | |
project->Save(dataDir + u"SaveProjectAsSVG_out.SVG", Aspose::Tasks::Saving::SaveFileFormat::SVG); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
// Save the Project as text | |
project->Save(dataDir + u"SaveProjectAsText_out.txt", Aspose::Tasks::Saving::SaveFileFormat::TXT); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
// Save the Project as XLSX | |
project->Save(dataDir + u"SaveProjectAsXLSX_out.xlsx", Aspose::Tasks::Saving::SaveFileFormat::XLSX); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<HtmlSaveOptions> option = System::MakeObject<HtmlSaveOptions>(); | |
project->Save(dataDir + u"SaveProjectDataAsHTML_out.html", option); | |
// OR | |
// Adding only one page (page number 2) | |
option = System::MakeObject<HtmlSaveOptions>(); | |
option->get_Pages()->Add(2); | |
project->Save(dataDir + u"SaveProjectDataAsHTML2_out.html", option); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const System::String projectName = u"Project2.mpp"; | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + projectName); | |
System::SharedPtr<ProjectFileInfo> projectFileInfo = Project::GetProjectFileInfo(dataDir + projectName); | |
if (Aspose::Tasks::FileFormat::MPP14 == projectFileInfo->get_ProjectFileFormat()) | |
{ | |
System::Console::WriteLine(u"Project file format is ok"); | |
} | |
System::SharedPtr<SaveTemplateOptions> options = System::MakeObject<SaveTemplateOptions>(); | |
options->set_RemoveActualValues(true); | |
options->set_RemoveBaselineValues(true); | |
const System::String templateName = u"SaveProjectDataAsTemplate_out.mpt"; | |
project->SaveAsTemplate(dataDir + templateName); | |
System::SharedPtr<ProjectFileInfo> templateFileInfo = Project::GetProjectFileInfo(dataDir + templateName); | |
if (Aspose::Tasks::FileFormat::MPT14 == templateFileInfo->get_ProjectFileFormat()) | |
{ | |
System::Console::WriteLine(u"Template FileFormat is ok"); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
project->Save(dataDir + u"SaveProjectDataToSpreadsheet2003XML_out.xml", Aspose::Tasks::Saving::SaveFileFormat::Spreadsheet2003); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Software Development Plan.mpp"); | |
System::SharedPtr<PdfSaveOptions> saveOptions = System::MakeObject<PdfSaveOptions>(); | |
saveOptions->set_SaveToSeparateFiles(true); | |
saveOptions->set_Pages(System::MakeObject<System::Collections::Generic::List<int32_t>>()); | |
saveOptions->get_Pages()->Add(1); | |
saveOptions->get_Pages()->Add(4); | |
project->Save(dataDir + u"SaveToMultiplePDFFiles_out.pdf", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(saveOptions)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Spreadsheet2003SaveOptions> options = System::MakeObject<Spreadsheet2003SaveOptions>(); | |
System::SharedPtr<GanttChartColumn> col = System::MakeObject<GanttChartColumn>(u"WBS", 100, &UsingSpreadsheet2003SaveOptions::_anonymous_method_0); | |
options->get_View()->get_Columns()->Add(col); | |
System::SharedPtr<ResourceViewColumn> rscCol = System::MakeObject<ResourceViewColumn>(u"Cost center", 100, &UsingSpreadsheet2003SaveOptions::_anonymous_method_1); | |
options->get_ResourceView()->get_Columns()->Add(rscCol); | |
System::SharedPtr<AssignmentViewColumn> assnCol = System::MakeObject<AssignmentViewColumn>(u"Notes", 200, &UsingSpreadsheet2003SaveOptions::_anonymous_method_2); | |
options->get_AssignmentView()->get_Columns()->Add(assnCol); | |
project->Save(dataDir + u"UsingSpreadsheet2003SaveOptions_out.xml", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<SaveOptions> saveOptions = System::MakeObject<SvgOptions>(); | |
saveOptions->set_FitContent(true); | |
saveOptions->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project->Save(dataDir + u"UseSvgOptions_out.svg", saveOptions); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CreateProject2.mpp"); | |
System::SharedPtr<XlsxOptions> options = System::MakeObject<XlsxOptions>(); | |
// Add desired Gantt Chart columns | |
System::SharedPtr<GanttChartColumn> col = System::MakeObject<GanttChartColumn>(u"WBS", 100, &UsingXlsxOptions::_anonymous_method_0); | |
options->get_View()->get_Columns()->Add(col); | |
// Add desired resource view columns | |
System::SharedPtr<ResourceViewColumn> rscCol = System::MakeObject<ResourceViewColumn>(u"Cost center", 100, &UsingXlsxOptions::_anonymous_method_1); | |
options->get_ResourceView()->get_Columns()->Add(rscCol); | |
// Add desired assignment view columns | |
System::SharedPtr<AssignmentViewColumn> assnCol = System::MakeObject<AssignmentViewColumn>(u"Notes", 200, &UsingXlsxOptions::_anonymous_method_2); | |
options->get_AssignmentView()->get_Columns()->Add(assnCol); | |
project->Save(dataDir + u"UsingXlsxOptions_out.xlsx", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task1"); | |
task->Set(Tsk::ActualStart(), System::DateTime::Parse(u"23-Aug-2012")); | |
// Set duration in hours | |
task->Set<Duration>(Tsk::Duration(), project->GetDuration(24, Aspose::Tasks::TimeUnitType::Hour)); | |
task->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::Day); | |
// Save the Project as XML | |
project->Save(dataDir + u"AddNewTask_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"SampleProject.mpp"); | |
// Declare ChildTasksCollector class object | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Use TaskUtils to get all children tasks in RootTask | |
TaskUtils::Apply(project1->get_RootTask(), collector, 0); | |
// Define Resources | |
for (int32_t i = 0; i <= 4; i++) | |
{ | |
System::String devloper = System::String(u"Developer0") + i; | |
// Add resource to project | |
System::SharedPtr<Resource> newResource = project1->get_Resources()->Add(devloper); | |
newResource->Set<ResourceType>(Rsc::Type(), Aspose::Tasks::ResourceType::Work); | |
// Define assignment | |
System::SharedPtr<ResourceAssignment> newResourceAssignment = project1->get_ResourceAssignments()->Add(System::StaticCast<Aspose::Tasks::Task>(collector->get_Tasks()->idx_get(i)), newResource); | |
} | |
project1->Save(dataDir + u"CreateResourcesAndLinkToTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"SampleProject.mpp"); | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->GetById(1); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->GetById(2); | |
System::SharedPtr<Task> task3 = project->get_RootTask()->get_Children()->GetById(3); | |
System::SharedPtr<Task> task4 = project->get_RootTask()->get_Children()->GetById(4); | |
System::SharedPtr<Task> task5 = project->get_RootTask()->get_Children()->GetById(5); | |
// Link the tasks | |
System::SharedPtr<TaskLink> tsklnk = project->get_TaskLinks()->Add(task1, task2, Aspose::Tasks::TaskLinkType::FinishToStart); | |
tsklnk = project->get_TaskLinks()->Add(task2, task3, Aspose::Tasks::TaskLinkType::FinishToStart); | |
tsklnk = project->get_TaskLinks()->Add(task3, task4, Aspose::Tasks::TaskLinkType::FinishToStart); | |
tsklnk = project->get_TaskLinks()->Add(task4, task5, Aspose::Tasks::TaskLinkType::FinishToStart); | |
tsklnk = project->get_TaskLinks()->Add(task2, task5, Aspose::Tasks::TaskLinkType::FinishToStart); | |
// Display links among the tasks | |
System::SharedPtr<TaskLinkCollection> allinks = project->get_TaskLinks(); | |
{ | |
auto tasklnk_enumerator = (allinks)->GetEnumerator(); | |
decltype(tasklnk_enumerator->get_Current()) tasklnk; | |
while (tasklnk_enumerator->MoveNext() && (tasklnk = tasklnk_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"From ID = ") + tasklnk->get_PredTask()->Get<int32_t>(Tsk::Id()) + u"=>To ID = " + tasklnk->get_SuccTask()->Get<int32_t>(Tsk::Id())); | |
System::Console::WriteLine(u"________________________________________"); | |
} | |
} | |
// Save the project | |
project->Save(dataDir + u"LinkTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Load MPP file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
// Get the critical path | |
System::SharedPtr<TaskCollection> criticalPath = project->get_CriticalPath(); | |
// Enumerate the tasks in the critical path | |
{ | |
auto task_enumerator = (criticalPath)->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::Convert::ToString(task->Get<int32_t>(Tsk::Id())) + u" " + task->Get(Tsk::Name())); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(task->Get<System::DateTime>(Tsk::Start()))); | |
System::Console::WriteLine(System::Convert::ToString(task->Get<System::DateTime>(Tsk::Finish())) + u"\n"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Load MPP file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
// Load all tasks | |
System::SharedPtr<TaskCollection> allTasks = project->get_RootTask()->get_Children(); | |
// Loop through each task and read information related to tasks | |
{ | |
auto task_enumerator = (allTasks)->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Reading Task ") + task->Get(Tsk::Name())); | |
System::Console::WriteLine(System::String(u"\nID: ") + task->Get<int32_t>(Tsk::Id())); | |
System::Console::WriteLine(System::String(u"Start: ") + task->Get<System::DateTime>(Tsk::Start())); | |
System::Console::WriteLine(System::String(u"Finish: ") + task->Get<System::DateTime>(Tsk::Finish())); | |
System::Console::WriteLine(u"\n===========================\n"); | |
} | |
} | |
// Loop through each resource and read information related to resources | |
{ | |
auto resource_enumerator = (project->get_Resources())->GetEnumerator(); | |
decltype(resource_enumerator->get_Current()) resource; | |
while (resource_enumerator->MoveNext() && (resource = resource_enumerator->get_Current(), true)) | |
{ | |
System::String resourceType; | |
switch (resource->Get<ResourceType>(Rsc::Type())) | |
{ | |
case Aspose::Tasks::ResourceType::Material: | |
resourceType = u"Material"; | |
break; | |
case Aspose::Tasks::ResourceType::Work: | |
resourceType = u"Work"; | |
break; | |
default: | |
resourceType = u"Cost"; | |
break; | |
} | |
System::Console::WriteLine(System::String(u"Reading Resource ") + resource->Get<System::String>(Rsc::Name())); | |
System::Console::WriteLine(System::String(u"\nID: ") + resource->Get<int32_t>(Rsc::Id())); | |
System::Console::WriteLine(System::String(u"Type: ") + resourceType); | |
System::Console::WriteLine(u"\n===========================\n"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Aspose::Tasks::License> license = System::MakeObject<Aspose::Tasks::License>(); | |
license->SetLicense(u"Aspose.Tasks.lic"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Aspose::Tasks::License> license = System::MakeObject<Aspose::Tasks::License>(); | |
System::SharedPtr<System::IO::FileStream> myStream = System::MakeObject<System::IO::FileStream>(u"Aspose.Tasks.lic", System::IO::FileMode::Open); | |
license->SetLicense(myStream); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a prject instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
// Define Tasks | |
System::SharedPtr<Task> task1 = project1->get_RootTask()->get_Children()->Add(u"Task1"); | |
task1->Set(Tsk::ActualStart(), System::DateTime::Parse(u"06-Apr-2010")); | |
System::SharedPtr<Task> task2 = project1->get_RootTask()->get_Children()->Add(u"Task2"); | |
task2->Set(Tsk::ActualStart(), System::DateTime::Parse(u"10-Apr-2010")); | |
// Save the Project as XML | |
project1->Save(u"EvalProject_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project; | |
try | |
{ | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
project = System::MakeObject<Project>(dataDir + u"project.mpp"); | |
} | |
catch (TasksReadingException& ex) | |
{ | |
System::Console::WriteLine(u"Message:"); | |
System::Console::WriteLine(ex->get_Message()); | |
System::Console::WriteLine(u"Log:"); | |
System::Console::WriteLine(ex->get_LogText()); | |
if (ex->get_InnerException() != nullptr) | |
{ | |
System::Console::WriteLine(u"Inner exception message:"); | |
System::Console::WriteLine(ex->get_InnerException()->get_Message()); | |
} | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex->get_Message()); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Analyze the project risks | |
System::SharedPtr<RiskAnalyzer> analyzer = System::MakeObject<RiskAnalyzer>(settings); | |
System::SharedPtr<RiskAnalysisResult> analysisResult = analyzer->Analyze(project); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Software Development Plan-1.mpp"); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(17); | |
// Initialize a risk pattern | |
System::SharedPtr<RiskPattern> pattern = System::MakeObject<RiskPattern>(task); | |
// Select a distribution type for the random number generator to generate possible values from (only two types currently supported, namely normal and uniform) | |
// For more details see here: https://en.wikipedia.org/wiki/Normal_distribution) | |
pattern->set_Distribution(Aspose::Tasks::RiskAnalysis::ProbabilityDistributionType::Normal); | |
// Set the percentage of the most likely task duration which can happen in the best possible project scenario | |
// The default value is 75, which means that if the estimated specified task duration is 4 days then the optimistic duration will be 3 days | |
pattern->set_Optimistic(70); | |
// Set the percentage of the most likely task duration which can happen in the worst possible project scenario | |
// The defaut value is 125, which means that if the estimated specified task duration is 4 days then the pessimistic duration will be 5 days. | |
pattern->set_Pessimistic(130); | |
// Set a confidence level that correspond to the percentage of the time the actual values will be within optimistic and pessimistic estimates. | |
// You can think of it as a value of standard deviation: the more uncertain about your estimates you are, the more the value of standard deviation used in random number generator is | |
pattern->set_ConfidenceLevel(Aspose::Tasks::RiskAnalysis::ConfidenceLevel::CL75); | |
settings->get_Patterns()->Add(pattern); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<RiskAnalysisSettings> settings = System::MakeObject<RiskAnalysisSettings>(); | |
// Set number of iterations for Monte Carlo simulation (the default value is 100). | |
settings->set_IterationsCount(200); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Select the desired output (here we get early finish of the root task) | |
System::SharedPtr<RiskItemStatistics> rootEarlyFinish = analysisResult->GetRiskItems(Aspose::Tasks::RiskAnalysis::RiskItemType::EarlyFinish)->Get(project->get_RootTask()); | |
System::Console::WriteLine(u"Expected value: {0}", System::ObjectExt::Box<System::DateTime>(rootEarlyFinish->get_ExpectedValue())); | |
System::Console::WriteLine(u"StandardDeviation: {0}", System::ObjectExt::Box<Duration>(rootEarlyFinish->get_StandardDeviation())); | |
System::Console::WriteLine(u"10% Percentile: {0}", System::ObjectExt::Box<System::DateTime>(rootEarlyFinish->GetPercentile(10))); | |
System::Console::WriteLine(u"50% Percentile: {0}", System::ObjectExt::Box<System::DateTime>(rootEarlyFinish->GetPercentile(50))); | |
System::Console::WriteLine(u"90% Percentile: {0}", System::ObjectExt::Box<System::DateTime>(rootEarlyFinish->GetPercentile(90))); | |
System::Console::WriteLine(u"Minimum: {0}", System::ObjectExt::Box<System::DateTime>(rootEarlyFinish->get_Minimum())); | |
System::Console::WriteLine(u"Maximum: {0}", System::ObjectExt::Box<System::DateTime>(rootEarlyFinish->get_Maximum())); | |
// Save PDF report which is rendered for Project Root Task Finish date | |
analysisResult->SaveReport(dataDir + u"AnalysisReport_out.pdf"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Cyclic stucture.mpp"); | |
project1->SaveReport(dataDir + u"BestPracticeAnalyzer_out.pdf", Aspose::Tasks::Visualization::ReportType::BestPracticeAnalyzer); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Homemoveplan.mpp"); | |
project1->SaveReport(dataDir + u"Burndown_out.pdf", Aspose::Tasks::Visualization::ReportType::Burndown); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"OzBuild 16 Orig.mpp"); | |
project1->SaveReport(dataDir + u"CashFlow_out.pdf", Aspose::Tasks::Visualization::ReportType::CashFlow); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Software Development.mpp"); | |
project1->SaveReport(dataDir + u"CostOverruns_out.pdf", Aspose::Tasks::Visualization::ReportType::CostOverruns); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"OzBuild 16 Orig.mpp"); | |
project1->SaveReport(dataDir + u"CostOverview_out.pdf", Aspose::Tasks::Visualization::ReportType::CostOverview); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Residential Construction.mpp"); | |
project1->SaveReport(dataDir + u"CriticalTasks_out.pdf", Aspose::Tasks::Visualization::ReportType::CriticalTasks); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Residential Construction.mpp"); | |
project1->SaveReport(dataDir + u"LateTasks_out.pdf", Aspose::Tasks::Visualization::ReportType::LateTasks); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Residential Construction.mpp"); | |
project1->SaveReport(dataDir + u"Milestones_out.pdf", Aspose::Tasks::Visualization::ReportType::Milestones); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Software Development Plan.mpp"); | |
project1->SaveReport(dataDir + u"OverAllocatedResources_out.pdf", Aspose::Tasks::Visualization::ReportType::OverallocatedResources); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Cyclic stucture.mpp"); | |
project1->SaveReport(dataDir + u"ProjectOverView_out.pdf", Aspose::Tasks::Visualization::ReportType::ProjectOverview); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"OzBuild 16 Orig.mpp"); | |
project1->SaveReport(dataDir + u"ResourceCostOverview_out.pdf", Aspose::Tasks::Visualization::ReportType::ResourceCostOverview); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Software Development Plan.mpp"); | |
project1->SaveReport(dataDir + u"ResourceOverview_out.pdf", Aspose::Tasks::Visualization::ReportType::ResourceOverview); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Homemoveplan.mpp"); | |
project1->SaveReport(dataDir + u"SlippingTasks_out.pdf", Aspose::Tasks::Visualization::ReportType::SlippingTasks); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Software Development.mpp"); | |
project1->SaveReport(dataDir + u"TaskCostOverview_out.pdf", Aspose::Tasks::Visualization::ReportType::TaskCostOverview); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"UpcomingTasks.mpp"); | |
project1->SaveReport(dataDir + u"UpcomingTasks_out.pdf", Aspose::Tasks::Visualization::ReportType::UpcomingTask); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Residential Construction.mpp"); | |
project1->SaveReport(dataDir + u"WorkOverview_out.pdf", Aspose::Tasks::Visualization::ReportType::WorkOverview); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int32_t SortResourcesByName::RscNameComparer::Compare(System::SharedPtr<Resource> const &x, System::SharedPtr<Resource> const &y) ASPOSE_CONST | |
{ | |
if (System::String::IsNullOrEmpty(x->Get<System::String>(Rsc::Name()))) | |
{ | |
return 1; | |
} | |
if (System::String::IsNullOrEmpty(y->Get<System::String>(Rsc::Name()))) | |
{ | |
return -1; | |
} | |
return x->Get<System::String>(Rsc::Name()).CompareTo(y->Get<System::String>(Rsc::Name())); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"project-sort.mpp"); | |
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Resource>>> resources = project->get_Resources()->ToList(); | |
resources->Sort(System::MakeObject<SortResourcesByName::RscNameComparer>()); | |
{ | |
auto rsc_enumerator = (resources)->GetEnumerator(); | |
decltype(rsc_enumerator->get_Current()) rsc; | |
while (rsc_enumerator->MoveNext() && (rsc = rsc_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(rsc); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int32_t SortTasksByName::TaskNameComparer::Compare(System::SharedPtr<Task> const &x, System::SharedPtr<Task> const &y) ASPOSE_CONST | |
{ | |
if (System::String::IsNullOrEmpty(x->Get(Tsk::Name()))) | |
{ | |
return 1; | |
} | |
if (System::String::IsNullOrEmpty(y->Get(Tsk::Name()))) | |
{ | |
return -1; | |
} | |
return x->Get(Tsk::Name()).CompareTo(y->Get(Tsk::Name())); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"project-sort.mpp"); | |
System::SharedPtr<ChildTasksCollector> coll = System::MakeObject<ChildTasksCollector>(); | |
TaskUtils::Apply(project->get_RootTask(), coll, 0); | |
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Task>>> tasks = coll->get_Tasks(); | |
tasks->Sort(System::MakeObject<SortTasksByName::TaskNameComparer>()); | |
{ | |
auto task_enumerator = (tasks)->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(task); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"project.mpp"); | |
// Define outline code and its outline mask | |
System::SharedPtr<OutlineCodeDefinition> code1 = System::MakeObject<OutlineCodeDefinition>(); | |
code1->set_Alias(u"New task outline code1"); | |
code1->set_FieldId(System::Convert::ToString(((int32_t)Aspose::Tasks::ExtendedAttributeTask::OutlineCode1))); | |
code1->set_FieldName(u"Outline Code1"); | |
System::SharedPtr<OutlineMask> mask = System::MakeObject<OutlineMask>(); | |
mask->set_Separator(u"+"); | |
mask->set_Level(1); | |
mask->set_Type(Aspose::Tasks::MaskType::Numbers); | |
code1->get_Masks()->Add(mask); | |
// Add outline value | |
System::SharedPtr<OutlineValue> value = System::MakeObject<OutlineValue>(); | |
value->set_Description(u"Value description"); | |
value->set_ValueId(1); | |
value->set_Value(u"123456"); | |
value->set_Type(Aspose::Tasks::OutlineValueType::Number); | |
code1->get_Values()->Add(value); | |
// Add outline code to project | |
project->get_OutlineCodes()->Add(code1); | |
// Define outline code and its outline mask | |
System::SharedPtr<OutlineCodeDefinition> code2 = System::MakeObject<OutlineCodeDefinition>(); | |
code2->set_Alias(u"New rsc outline code2"); | |
code2->set_FieldId(System::Convert::ToString(((int32_t)Aspose::Tasks::ExtendedAttributeResource::OutlineCode2))); | |
code2->set_FieldName(u"Outline Code2"); | |
System::SharedPtr<OutlineMask> mask2 = System::MakeObject<OutlineMask>(); | |
mask2->set_Separator(u"/"); | |
mask2->set_Level(1); | |
mask2->set_Type(Aspose::Tasks::MaskType::Numbers); | |
code2->get_Masks()->Add(mask2); | |
// Add outline value | |
System::SharedPtr<OutlineValue> value2 = System::MakeObject<OutlineValue>(); | |
value2->set_Description(u"Value2 description"); | |
value2->set_ValueId(2); | |
value2->set_Value(u"987654"); | |
value2->set_Type(Aspose::Tasks::OutlineValueType::Number); | |
code2->get_Values()->Add(value2); | |
// Add outline code to project | |
project->get_OutlineCodes()->Add(code2); | |
// Save project as MPP | |
project->Save(dataDir + u"Updated_project_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
// Add working times to project calendar | |
System::SharedPtr<WorkingTime> wt = System::MakeObject<WorkingTime>(); | |
wt->set_FromTime(System::DateTime(2010, 1, 1, 19, 0, 0)); | |
wt->set_ToTime(System::DateTime(2010, 1, 1, 20, 0, 0)); | |
System::SharedPtr<WeekDay> day = project->Get<System::SharedPtr<Calendar>>(Prj::Calendar())->get_WeekDays()->ToList()->idx_get(1); | |
day->get_WorkingTimes()->Add(wt); | |
// Change calendar name | |
project->Get<System::SharedPtr<Calendar>>(Prj::Calendar())->set_Name(u"CHANGED NAME!"); | |
// Add tasks and set task meta data | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
task->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::Day); | |
task->Set<Duration>(Tsk::Duration(), project->GetDuration(3)); | |
task->Set<System::String>(Tsk::Contact(), u"Rsc 1"); | |
task->Set<bool>(Tsk::IsMarked(), true); | |
task->Set<bool>(Tsk::IgnoreWarnings(), true); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
task2->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::Day); | |
task2->Set<System::String>(Tsk::Contact(), u"Rsc 2"); | |
// Link tasks | |
project->get_TaskLinks()->Add(task, task2, Aspose::Tasks::TaskLinkType::FinishToStart, project->GetDuration(-1, Aspose::Tasks::TimeUnitType::Day)); | |
// Set project start date | |
project->Set(Prj::StartDate(), System::DateTime(2013, 8, 13, 9, 0, 0)); | |
// Add resource and set resource meta data | |
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc 1"); | |
rsc1->Set<ResourceType>(Rsc::Type(), Aspose::Tasks::ResourceType::Work); | |
rsc1->Set<System::String>(Rsc::Initials(), u"WR"); | |
rsc1->Set<CostAccrualType>(Rsc::AccrueAt(), Aspose::Tasks::CostAccrualType::Prorated); | |
rsc1->Set<double>(Rsc::MaxUnits(), 1.0); | |
rsc1->Set<System::String>(Rsc::Code(), u"Code 1"); | |
rsc1->Set<System::String>(Rsc::Group(), u"Workers"); | |
rsc1->Set<System::String>(Rsc::EMailAddress(), u"1@gmail.com"); | |
rsc1->Set<System::String>(Rsc::WindowsUserAccount(), u"user_acc1"); | |
rsc1->Set<NullableBool>(Rsc::IsGeneric(), NullableBool(true)); | |
rsc1->Set<CostAccrualType>(Rsc::AccrueAt(), Aspose::Tasks::CostAccrualType::End); | |
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(10)); | |
rsc1->Set<RateFormatType>(Rsc::StandardRateFormat(), Aspose::Tasks::RateFormatType::Day); | |
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(15)); | |
rsc1->Set<RateFormatType>(Rsc::OvertimeRateFormat(), Aspose::Tasks::RateFormatType::Hour); | |
rsc1->Set<bool>(Rsc::IsTeamAssignmentPool(), true); | |
rsc1->Set<System::String>(Rsc::CostCenter(), u"Cost Center 1"); | |
// Create resource assignment and set resource assignment meta data | |
System::SharedPtr<ResourceAssignment> assn = project->get_ResourceAssignments()->Add(task, rsc1); | |
assn->Set<int32_t>(Asn::Uid(), 1); | |
assn->Set<Duration>(Asn::Work(), task->Get<Duration>(Tsk::Duration())); | |
assn->Set<Duration>(Asn::RemainingWork(), assn->Get<Duration>(Asn::Work())); | |
assn->Set<Duration>(Asn::RegularWork(), assn->Get<Duration>(Asn::Work())); | |
task->Set<Duration>(Tsk::Work(), assn->Get<Duration>(Asn::Work())); | |
rsc1->Set<Duration>(Rsc::Work(), task->Get<Duration>(Tsk::Work())); | |
assn->Set(Asn::Start(), task->Get<System::DateTime>(Tsk::Start())); | |
assn->Set(Asn::Finish(), task->Get<System::DateTime>(Tsk::Finish())); | |
// Add extended attribute for project and task | |
System::SharedPtr<ExtendedAttributeDefinition> attr = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Flag, Aspose::Tasks::ExtendedAttributeTask::Flag1, u"My Flag Field"); | |
project->get_ExtendedAttributes()->Add(attr); | |
System::SharedPtr<ExtendedAttribute> taskAttr = attr->CreateExtendedAttribute(); | |
taskAttr->set_FlagValue(true); | |
task2->get_ExtendedAttributes()->Add(taskAttr); | |
// Save project as MPP | |
project->Save(dataDir + u"WriteMetaData_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
{ | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"project_test.mpp", System::IO::FileMode::Open); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ fs}); | |
// ------------------------------------------ | |
try | |
{ | |
// Create project instance | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(fs); | |
// Remove an exception | |
System::SharedPtr<Aspose::Tasks::Calendar> cal = prj->get_Calendars()->ToList()->idx_get(0); | |
if (cal->get_Exceptions()->get_Count() > 1) | |
{ | |
System::SharedPtr<CalendarException> exc = cal->get_Exceptions()->ToList()->idx_get(0); | |
cal->get_Exceptions()->Remove(exc); | |
} | |
// Add an exception | |
System::SharedPtr<CalendarException> calExc = System::MakeObject<CalendarException>(); | |
calExc->set_FromDate(System::DateTime(2009, 1, 1)); | |
calExc->set_ToDate(System::DateTime(2009, 1, 3)); | |
cal->get_Exceptions()->Add(calExc); | |
// Display exceptions | |
{ | |
auto calExc1_enumerator = (cal->get_Exceptions())->GetEnumerator(); | |
decltype(calExc1_enumerator->get_Current()) calExc1; | |
while (calExc1_enumerator->MoveNext() && (calExc1 = calExc1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"From") + calExc1->get_FromDate().ToShortDateString()); | |
System::Console::WriteLine(System::String(u"To") + calExc1->get_ToDate().ToShortDateString()); | |
} | |
} | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(); | |
// Define Calendar | |
System::SharedPtr<Aspose::Tasks::Calendar> cal = prj->get_Calendars()->Add(u"Calendar1"); | |
// Define week days exception for a holiday | |
System::SharedPtr<CalendarException> except = System::MakeObject<CalendarException>(); | |
except->set_EnteredByOccurrences(false); | |
except->set_FromDate(System::DateTime(2009, 12, 24, 0, 0, 0)); | |
except->set_ToDate(System::DateTime(2009, 12, 31, 23, 59, 0)); | |
except->set_Type(Aspose::Tasks::CalendarExceptionType::Daily); | |
except->set_DayWorking(false); | |
cal->get_Exceptions()->Add(except); | |
// Save the Project | |
prj->Save(dataDir + u"Project_DefineWeekDayException_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Define exception and specify occurences | |
System::SharedPtr<CalendarException> except = System::MakeObject<CalendarException>(); | |
except->set_EnteredByOccurrences(true); | |
except->set_Occurrences(5); | |
except->set_Type(Aspose::Tasks::CalendarExceptionType::YearlyByDay); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"project_RetrieveExceptions_test.mpp"); | |
// Access calendars | |
{ | |
auto cal_enumerator = (project1->get_Calendars())->GetEnumerator(); | |
decltype(cal_enumerator->get_Current()) cal; | |
while (cal_enumerator->MoveNext() && (cal = cal_enumerator->get_Current(), true)) | |
{ | |
// Access calendar exceptions | |
auto calExc_enumerator = (cal->get_Exceptions())->GetEnumerator(); | |
decltype(calExc_enumerator->get_Current()) calExc; | |
while (calExc_enumerator->MoveNext() && (calExc = calExc_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"From: ") + calExc->get_FromDate().ToShortDateString()); | |
System::Console::WriteLine(System::String(u"To: ") + calExc->get_ToDate().ToShortDateString()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Load an existing project | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CalculateWorkHours.mpp"); | |
// Access Task By Id | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
// Access Calendar and it's start and end dates | |
System::SharedPtr<Aspose::Tasks::Calendar> taskCalendar = task->Get<System::SharedPtr<Calendar>>(Tsk::Calendar()); | |
System::DateTime startDate = task->Get<System::DateTime>(Tsk::Start()); | |
System::DateTime endDate = task->Get<System::DateTime>(Tsk::Finish()); | |
System::DateTime tempDate = startDate; | |
// Access resource and their calendar | |
System::SharedPtr<Resource> resource = project->get_Resources()->GetByUid(1); | |
System::SharedPtr<Aspose::Tasks::Calendar> resourceCalendar = resource->Get<System::SharedPtr<Calendar>>(Rsc::Calendar()); | |
System::TimeSpan timeSpan; | |
// Get Duration in Minutes | |
double durationInMins = 0; | |
while (tempDate < endDate) | |
{ | |
if (taskCalendar->IsDayWorking(tempDate) && resourceCalendar->IsDayWorking(tempDate)) | |
{ | |
timeSpan = taskCalendar->GetWorkingHours(tempDate); | |
durationInMins = durationInMins + timeSpan.get_TotalMinutes(); | |
} | |
tempDate = tempDate.AddDays(1); | |
} | |
tempDate = startDate; | |
// Get Duration in Hours | |
double durationInHours = 0; | |
while (tempDate < endDate) | |
{ | |
if (taskCalendar->IsDayWorking(tempDate) && resourceCalendar->IsDayWorking(tempDate)) | |
{ | |
timeSpan = taskCalendar->GetWorkingHours(tempDate); | |
durationInHours = durationInHours + timeSpan.get_TotalHours(); | |
} | |
tempDate = tempDate.AddDays(1); | |
} | |
tempDate = startDate; | |
// Get Duration in Days | |
double durationInDays = 0; | |
while (tempDate < endDate) | |
{ | |
if (taskCalendar->IsDayWorking(tempDate) && resourceCalendar->IsDayWorking(tempDate)) | |
{ | |
timeSpan = taskCalendar->GetWorkingHours(tempDate); | |
if (timeSpan.get_TotalHours() > 0) | |
{ | |
durationInDays = durationInDays + timeSpan.get_TotalDays() * (24 / (timeSpan.get_TotalHours())); | |
} | |
} | |
tempDate = tempDate.AddDays(1); | |
} | |
System::Console::WriteLine(System::String(u"Duration in Minutes = ") + durationInMins); | |
System::Console::WriteLine(System::String(u"Duration in Hours = ") + durationInHours); | |
System::Console::WriteLine(System::String(u"Duration in Days = ") + durationInDays); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// New calendar can be added to a project's calendar collection using the collection's Add method. | |
System::SharedPtr<Aspose::Tasks::Calendar> cal1 = project->get_Calendars()->Add(u"New Info"); | |
System::SharedPtr<Aspose::Tasks::Calendar> cal2 = project->get_Calendars()->Add(u"no name"); | |
System::SharedPtr<Aspose::Tasks::Calendar> cal3 = project->get_Calendars()->Add(u"cal3"); | |
// Save the Project | |
System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
project->Save(dataDir + u"CreatingCalendar_out.Xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This example shows how Aspose.Tasks API can be used to define a new Calendar, add week days to it and define working times for days | |
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Define Calendar | |
System::SharedPtr<Aspose::Tasks::Calendar> cal = project->get_Calendars()->Add(u"Calendar1"); | |
// Add working days monday through thursday with default timings | |
cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Monday)); | |
cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Tuesday)); | |
cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Wednesday)); | |
cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Thursday)); | |
cal->get_WeekDays()->Add(System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Saturday)); | |
cal->get_WeekDays()->Add(System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Sunday)); | |
// Set friday as short working day | |
System::SharedPtr<WeekDay> myWeekDay = System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Friday); | |
// Sets working time. Only time part of DateTime is important | |
System::SharedPtr<WorkingTime> wt1 = System::MakeObject<WorkingTime>(); | |
wt1->set_FromTime(System::DateTime(1, 1, 1, 9, 0, 0, 0)); | |
wt1->set_ToTime(System::DateTime(1, 1, 1, 12, 0, 0, 0)); | |
System::SharedPtr<WorkingTime> wt2 = System::MakeObject<WorkingTime>(); | |
wt2->set_FromTime(System::DateTime(1, 1, 1, 13, 0, 0, 0)); | |
wt2->set_ToTime(System::DateTime(1, 1, 1, 16, 0, 0, 0)); | |
myWeekDay->get_WorkingTimes()->Add(wt1); | |
myWeekDay->get_WorkingTimes()->Add(wt2); | |
myWeekDay->set_DayWorking(true); | |
cal->get_WeekDays()->Add(myWeekDay); | |
// Save the Project | |
System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
project->Save(u"Project_DefineCalendarWeekdays_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Define Calendar and make it standard | |
System::SharedPtr<Aspose::Tasks::Calendar> cal1 = project->get_Calendars()->Add(u"My Cal"); | |
Aspose::Tasks::Calendar::MakeStandardCalendar(cal1); | |
// Save the Project | |
System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
project->Save(dataDir + u"Project_MakeStandardCalendar_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReplaceCalendar.mpp"); | |
// Add a new calendar to the project's calendars collection | |
project->get_Calendars()->Add(u"New cal1", project->Get<System::SharedPtr<Calendar>>(Prj::Calendar())); | |
// Now traverse through project calendars and replace the already added calendar with a new one | |
System::SharedPtr<CalendarCollection> calColl = project->get_Calendars(); | |
{ | |
auto c_enumerator = (calColl)->GetEnumerator(); | |
decltype(c_enumerator->get_Current()) c; | |
while (c_enumerator->MoveNext() && (c = c_enumerator->get_Current(), true)) | |
{ | |
if (c->get_Name() == u"New cal1") | |
{ | |
calColl->Remove(c); | |
calColl->Add(u"New cal2", project->Get<System::SharedPtr<Calendar>>(Prj::Calendar())); | |
break; | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project5.mpp"); | |
// Access project calendars | |
System::SharedPtr<CalendarCollection> calColl = project->get_Calendars(); | |
calColl->Remove(calColl->GetByName(u"TestCalendar")); | |
// Add new calendar | |
System::SharedPtr<Calendar> newCalendar = calColl->Add(u"TestCalendar"); | |
project->Save(dataDir + u"ReplaceCalendar_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String resultFile = u"result_WriteUpdatedCalendarDataToMPP_out.mpp"; | |
System::String newFile = u"project_update_test.mpp"; | |
System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
try | |
{ | |
// Create project instance and access calendar | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + newFile); | |
System::SharedPtr<Calendar> cal = project->get_Calendars()->GetByUid(3); | |
// Update the calendar information | |
Calendar::MakeStandardCalendar(cal); | |
cal->set_Name(u"Test calendar"); | |
System::SharedPtr<CalendarException> exc = System::MakeObject<CalendarException>(); | |
exc->set_FromDate(System::DateTime::get_Now()); | |
exc->set_ToDate(System::DateTime::get_Now().AddDays(2)); | |
exc->set_DayWorking(true); | |
System::SharedPtr<WorkingTime> wt1 = System::MakeObject<WorkingTime>(); | |
wt1->set_FromTime(System::DateTime(10, 1, 1, 9, 0, 0)); | |
wt1->set_ToTime(System::DateTime(10, 1, 1, 13, 0, 0)); | |
System::SharedPtr<WorkingTime> wt2 = System::MakeObject<WorkingTime>(); | |
wt2->set_FromTime(System::DateTime(10, 1, 1, 14, 0, 0)); | |
wt2->set_ToTime(System::DateTime(10, 1, 1, 19, 0, 0)); | |
System::SharedPtr<WorkingTime> wt3 = System::MakeObject<WorkingTime>(); | |
wt3->set_FromTime(System::DateTime(10, 1, 1, 20, 0, 0)); | |
wt3->set_ToTime(System::DateTime(10, 1, 1, 21, 0, 0)); | |
exc->get_WorkingTimes()->Add(wt1); | |
exc->get_WorkingTimes()->Add(wt2); | |
exc->get_WorkingTimes()->Add(wt3); | |
cal->get_Exceptions()->Add(exc); | |
System::SharedPtr<CalendarException> exc2 = System::MakeObject<CalendarException>(); | |
exc2->set_FromDate(System::DateTime::get_Now().AddDays(7)); | |
exc2->set_ToDate(exc2->get_FromDate()); | |
exc2->set_DayWorking(false); | |
cal->get_Exceptions()->Add(exc2); | |
project->Set<System::SharedPtr<Calendar>>(Prj::Calendar(), cal); | |
// Save project | |
project->Save(dataDir + resultFile, Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex->get_Message() + u"\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http:// Www.aspose.com/purchase/default.aspx."); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Load an existing project | |
System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project_GeneralCalendarProperties.xml"); | |
{ | |
auto cal_enumerator = (project->get_Calendars())->GetEnumerator(); | |
decltype(cal_enumerator->get_Current()) cal; | |
while (cal_enumerator->MoveNext() && (cal = cal_enumerator->get_Current(), true)) | |
{ | |
if (cal->get_Name() != nullptr) | |
{ | |
System::Console::WriteLine(System::String(u"UID : ") + System::Convert::ToString(cal->get_Uid()) + u" Name: " + cal->get_Name()); | |
// Show if it is has a base calendar | |
System::Console::Write(u"Base Calendar : "); | |
if (cal->get_IsBaseCalendar()) | |
{ | |
System::Console::WriteLine(u"Self"); | |
} | |
else | |
{ | |
System::Console::WriteLine(cal->get_BaseCalendar()->get_Name()); | |
} | |
// Get Time in hours on each working day | |
{ | |
auto wd_enumerator = (cal->get_WeekDays())->GetEnumerator(); | |
decltype(wd_enumerator->get_Current()) wd; | |
while (wd_enumerator->MoveNext() && (wd = wd_enumerator->get_Current(), true)) | |
{ | |
System::TimeSpan ts = wd->GetWorkingTime(); | |
System::Console::WriteLine(System::String(u"Day Type: ") + System::ObjectExt::ToString(wd->get_DayType()) + u" Hours: " + System::ObjectExt::ToString(ts)); | |
} | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance and access calendar and work weeks collection | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadWorkWeeksInformation.mpp"); | |
System::SharedPtr<Calendar> calendar = project->get_Calendars()->GetByUid(3); | |
System::SharedPtr<WorkWeekCollection> collection = calendar->get_WorkWeeks(); | |
{ | |
auto workWeek_enumerator = (collection)->GetEnumerator(); | |
decltype(workWeek_enumerator->get_Current()) workWeek; | |
while (workWeek_enumerator->MoveNext() && (workWeek = workWeek_enumerator->get_Current(), true)) | |
{ | |
// Display work week name, from and to dates | |
System::String Name = workWeek->get_Name(); | |
System::DateTime fromDate = workWeek->get_FromDate(); | |
System::DateTime toDate = workWeek->get_ToDate(); | |
// This data is all about "Details." button you can set special working times for special WeekDay or even make it nonworking | |
System::SharedPtr<WeekDayCollection> weekDays = workWeek->get_WeekDays(); | |
{ | |
auto day_enumerator = (weekDays)->GetEnumerator(); | |
decltype(day_enumerator->get_Current()) day; | |
while (day_enumerator->MoveNext() && (day = day_enumerator->get_Current(), true)) | |
{ | |
// You can further traverse through working times and display these | |
System::SharedPtr<WorkingTimeCollection> workingTimes = day->get_WorkingTimes(); | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"RetrieveCalendarInfo.mpp"); | |
// Retrieve Calendars Information | |
System::SharedPtr<CalendarCollection> alCals = project->get_Calendars(); | |
{ | |
auto cal_enumerator = (alCals)->GetEnumerator(); | |
decltype(cal_enumerator->get_Current()) cal; | |
while (cal_enumerator->MoveNext() && (cal = cal_enumerator->get_Current(), true)) | |
{ | |
if (cal->get_Name() != nullptr) | |
{ | |
System::Console::WriteLine(System::String(u"Calendar UID : ") + cal->get_Uid()); | |
System::Console::WriteLine(System::String(u"Calendar Name : ") + cal->get_Name()); | |
System::SharedPtr<WeekDayCollection> alDays = cal->get_WeekDays(); | |
{ | |
auto wd_enumerator = (alDays)->GetEnumerator(); | |
decltype(wd_enumerator->get_Current()) wd; | |
while (wd_enumerator->MoveNext() && (wd = wd_enumerator->get_Current(), true)) | |
{ | |
System::TimeSpan ts = wd->GetWorkingTime(); | |
if (wd->get_DayWorking()) | |
{ | |
System::Console::WriteLine(System::ObjectExt::ToString(wd->get_DayType()) + u":"); | |
System::Console::WriteLine(System::ObjectExt::ToString(ts)); | |
} | |
} | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"project.mpp"); | |
System::Console::WriteLine(project1->Get<System::String>(Prj::CurrencyCode())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"project.mpp"); | |
System::Console::WriteLine(project1->Get<int32_t>(Prj::CurrencyDigits())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"project.mpp"); | |
System::Console::WriteLine(project1->Get<System::String>(Prj::CurrencySymbol())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project and set currency code | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
project1->Set<System::String>(Prj::CurrencyCode(), u"USD"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project and set currency digits | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
project1->Set<int32_t>(Prj::CurrencyDigits(), 2); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project and set currency symbol | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
project1->Set<System::String>(Prj::CurrencySymbol(), u"$$"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project and extended attribute definition | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<ExtendedAttributeDefinition> attribute = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Cost, Aspose::Tasks::ExtendedAttributeTask::Cost1, u""); | |
attribute->set_Formula(u"[Cost]-[Actual Cost]"); | |
project->get_ExtendedAttributes()->Add(attribute); | |
// Add task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
// Create extended attribute | |
System::SharedPtr<ExtendedAttribute> extendedAttribute = attribute->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(extendedAttribute); | |
// Display if extended attributes are read only or not | |
System::Console::WriteLine(extendedAttribute->get_ValueReadOnly() == true ? System::String(u"Value is Read only") : System::String(u"Value is not read only")); | |
extendedAttribute->set_NumericValue(-System::Decimal(1000000)); | |
System::Console::WriteLine(extendedAttribute->get_NumericValue() == -System::Decimal(1000000) ? System::String(u"Formula values are read-only") : System::String(u"Values are not read-only")); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = CreateTestProject(); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::SharedPtr<ExtendedAttributeDefinition> numberDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Number1, nullptr); | |
project->get_ExtendedAttributes()->Add(numberDefinition); | |
System::SharedPtr<ExtendedAttribute> numberAttribute = numberDefinition->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(numberAttribute); | |
// Set ProjDateDiff formula and print extended attribute value | |
numberDefinition->set_Formula(u"ProjDateDiff(\"03/23/2015\",\"03/18/2015\")"); | |
System::Console::WriteLine(numberAttribute->get_NumericValue()); | |
numberDefinition->set_Formula(u"ProjDateDiff(\"03/23/2015\",\"03/25/2015\")"); | |
System::Console::WriteLine(numberAttribute->get_NumericValue()); | |
System::SharedPtr<ExtendedAttributeDefinition> dateDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Date1, nullptr); | |
project->get_ExtendedAttributes()->Add(dateDefinition); | |
System::SharedPtr<ExtendedAttribute> dateAttribute = dateDefinition->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(dateAttribute); | |
System::SharedPtr<ExtendedAttributeDefinition> durationDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Duration4, u"Custom duration field"); | |
project->get_ExtendedAttributes()->Add(durationDefinition); | |
System::SharedPtr<ExtendedAttribute> durationAttribute = durationDefinition->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(durationAttribute); | |
System::SharedPtr<ExtendedAttributeDefinition> textDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Text5, u"Custom text field"); | |
project->get_ExtendedAttributes()->Add(textDefinition); | |
System::SharedPtr<ExtendedAttribute> textAttribute = textDefinition->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(textAttribute); | |
// Set ProjDateSub formula and print extended attribute value | |
dateDefinition->set_Formula(u"ProjDateSub(\"3/19/2015\", \"1d\")"); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(dateAttribute->get_DateValue())); | |
// We can set ProjDurConv formula to duration-valued attribute as well as to text-valued attribute. | |
// Set ProjDurConv formula to duration-valued extended attribute and print its value. | |
durationDefinition->set_Formula(u"ProjDurConv([Duration], pjHours)"); | |
System::Console::WriteLine(System::ObjectExt::Box<Duration>(durationAttribute->get_DurationValue())); | |
// Set ProjDurConv formula to text-valued extended attribute and print its value. | |
textDefinition->set_Formula(u"ProjDurConv([Duration], pjHours)"); | |
System::Console::WriteLine(textAttribute->get_TextValue()); | |
textDefinition->set_Formula(u"ProjDurConv([Duration], pjWeeks)"); | |
System::Console::WriteLine(textAttribute->get_TextValue()); | |
// Set Second formula and print entended attribute value | |
numberDefinition->set_Formula(u"Second(\"4/21/2015 2:53:41 AM\")"); | |
System::Console::WriteLine(numberAttribute->get_NumericValue()); | |
// Set Weekday formula and print entended attribute value | |
numberDefinition->set_Formula(u"Weekday(\"24/3/2015\", 1)"); | |
System::Console::WriteLine(numberAttribute->get_NumericValue()); | |
numberDefinition->set_Formula(u"Weekday(\"24/3/2015\", 2)"); | |
System::Console::WriteLine(numberAttribute->get_NumericValue()); | |
numberDefinition->set_Formula(u"Weekday(\"24/3/2015\", 3)"); | |
System::Console::WriteLine(numberAttribute->get_NumericValue()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void CalculateGeneralFunctions::EvaluateChoose() | |
{ | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
// Set Formula | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"Choose(3, \"This is a\", \"right\", \"choice\")"); | |
// Print extended attribute value | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
} | |
void CalculateGeneralFunctions::EvaluateIsNumeric() | |
{ | |
System::ArrayPtr<System::String> numericFormulas = System::MakeArray<System::String>({u"IsNumeric('AAA')", u"IsNUmeric(1)", u"IsNumeric(1<0)", u"IsNumeric(\"1.1\")", u"IsNumeric(Choose((2 + Sgn(2^-3)), 123, \"one two three\"))"}); | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
{ | |
for (System::String numericFormula : numericFormulas) | |
{ | |
// Set Formula | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(numericFormula); | |
// Print extended attribute value | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
} | |
} | |
} | |
void CalculateGeneralFunctions::EvaluateSwitch() | |
{ | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
// Set Formula | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"Switch( 0 < 1, \"0 is lesser than 1\", 0 > 1, \"0 is greater than 1\")"); | |
// Print extended attribute value | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
} | |
System::SharedPtr<Project> CalculateGeneralFunctions::CreateTestProjectWithCustomField() | |
{ | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<ExtendedAttributeDefinition> attr = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Text, Aspose::Tasks::ExtendedAttributeTask::Text1, u"Custom Field"); | |
project->get_ExtendedAttributes()->Add(attr); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<ExtendedAttribute> a = attr->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(a); | |
return project; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void CalculateMathExpressions::EvaluateSine() | |
{ | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
// Set formula Sin(pi/2) | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"Sin(3.1415926/2)"); | |
// Print Calculated value | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(u"Sin(pi/2): {0}", System::ObjectExt::Box<System::Decimal>(task->get_ExtendedAttributes()->idx_get(0)->get_NumericValue())); | |
} | |
System::SharedPtr<Project> CalculateMathExpressions::CreateTestProjectWithCustomField() | |
{ | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<ExtendedAttributeDefinition> attr = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Number, Aspose::Tasks::ExtendedAttributeTask::Number1, u"Sine"); | |
project->get_ExtendedAttributes()->Add(attr); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<ExtendedAttribute> a = attr->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(a); | |
return project; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void CalculateTextFunctions::EvaluateStrConv() | |
{ | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
// Set formulas and print extended attribute value | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"StrConv(\"sTring and sTRINg\",3)"); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"StrConv(\"sTring and sTRINg\",1)"); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"StrConv(\"sTring and sTRINg\",2)"); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
} | |
void CalculateTextFunctions::EvaluateStringFunction() | |
{ | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
// Set formulas and print extended attribute value | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"String(5, 40)"); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"String(5, \"A\")"); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"String(-5, \"A\")"); | |
// #Error | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); | |
} | |
System::SharedPtr<Project> CalculateTextFunctions::CreateTestProjectWithCustomField() | |
{ | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<ExtendedAttributeDefinition> attr = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Text, Aspose::Tasks::ExtendedAttributeTask::Text1, u"Custom Field"); | |
project->get_ExtendedAttributes()->Add(attr); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<ExtendedAttribute> a = attr->CreateExtendedAttribute(); | |
task->get_ExtendedAttributes()->Add(a); | |
return project; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
// Set formula for extended attribute | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"[Critical]-[Marked]+4+[Active]-Not [Active]"); | |
// Print value of extened attribute | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(System::String(u"Formula with boolean values: ") + task->get_ExtendedAttributes()->idx_get(0)->get_TextValue()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = CreateTestProjectWithCustomFieldWithoutResource(); | |
// Set formula | |
project->get_ExtendedAttributes()->idx_get(0)->set_Formula(u"\"Total tasks: \" & [Task Count] & \" Total resources: \" & [Resource Count]"); | |
// Print if formula value is computed correctly | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(u"Check Total tasks: 1 Total resources: 0 - {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task->get_ExtendedAttributes()->idx_get(0)->get_TextValue(), u"Total tasks: 1 Total resources: 0"))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ReadFormulas.mpp"); | |
// Attached test mpp | |
// Read extended attribute formula | |
System::SharedPtr<ExtendedAttributeDefinition> attr = project1->get_ExtendedAttributes()->idx_get(0); | |
System::Console::WriteLine(System::String(u"Attribute Formula: ") + attr->get_Formula()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
// Set arithmetic formula for extended attribute | |
System::SharedPtr<ExtendedAttributeDefinition> attr = project->get_ExtendedAttributes()->idx_get(0); | |
attr->set_Alias(u"Arithmetic Expression"); | |
attr->set_Formula(u"(1+3*(2+ -5)+8/2)^3"); | |
// Display extended attribute value | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_NumericValue()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
// Set formula | |
System::SharedPtr<ExtendedAttributeDefinition> attr = project->get_ExtendedAttributes()->idx_get(0); | |
attr->set_Alias(u"Task number fields"); | |
attr->set_Formula(u"([Outline Level] + [Priority] + [% Complete])/2"); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
// Print extended attribute value before and after updating task percent complete | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_NumericValue()); | |
task->Set<int32_t>(Tsk::PercentComplete(), 50); | |
System::Console::WriteLine(task->get_ExtendedAttributes()->idx_get(0)->get_NumericValue()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = CreateTestProjectWithCustomField(); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
// Set formula for extended attribute | |
System::SharedPtr<ExtendedAttributeDefinition> extendedAttributeDefinition1 = project->get_ExtendedAttributes()->idx_get(0); | |
extendedAttributeDefinition1->set_Alias(u"Days from finish to deadline"); | |
extendedAttributeDefinition1->set_Formula(u"[Deadline] - [Finish]"); | |
// Set Task Deadline and save project | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->GetById(1); | |
task->Set(Tsk::Deadline(), System::DateTime(2015, 3, 20, 17, 0, 0)); | |
project->Save(dataDir + u"project_UsingTasksAndResourceFields_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
project->Set<NullableBool>(Prj::NewTasksAreManual(), NullableBool::to_NullableBool(false)); | |
// Create new custom field (Task Text1) with formula which will double task cost | |
System::SharedPtr<ExtendedAttributeDefinition> attr = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Text, Aspose::Tasks::ExtendedAttributeTask::Text1, u"Custom"); | |
attr->set_Alias(u"Double Costs"); | |
attr->set_Formula(u"[Cost]*2"); | |
project->get_ExtendedAttributes()->Add(attr); | |
// Add a task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
// Set task cost | |
task->Set<System::Decimal>(Tsk::Cost(), static_cast<System::Decimal>(100)); | |
// Save project | |
project->Save(dataDir + u"WriteFormulasInExtendedAttributesToMPP_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Save project as MPP | |
project->Save(dataDir + u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a project instance | |
System::SharedPtr<Project> newProject = System::MakeObject<Project>(); | |
// Create a file stream | |
{ | |
System::SharedPtr<System::IO::FileStream> projectStream = System::MakeObject<System::IO::FileStream>(dataDir + u"EmptyProjectSaveStream_out.xml", System::IO::FileMode::Create, System::IO::FileAccess::Write); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ projectStream}); | |
// ------------------------------------------ | |
try | |
{ | |
// Write the stream into XML format | |
newProject->Save(projectStream, Aspose::Tasks::Saving::SaveFileFormat::XML); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Save project as xml | |
project->Save(dataDir + u"EmptyProjectSaveXML_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String sharepointDomainAddress = u"https://contoso.sharepoint.com"; | |
System::String userName = u"admin@contoso.onmicrosoft.com"; | |
System::String password = u"MyPassword"; | |
System::SharedPtr<ProjectServerCredentials> credentials = System::MakeObject<ProjectServerCredentials>(sharepointDomainAddress, userName, password); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(u"sample.mpp"); | |
System::SharedPtr<ProjectServerManager> manager = System::MakeObject<ProjectServerManager>(credentials); | |
manager->CreateNewProject(project); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void IgnoreInvalidCharactersDuringloadingProject::Run() | |
{ | |
// Open modified xml stream | |
{ | |
System::SharedPtr<System::IO::MemoryStream> stream = System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_UTF8()->GetBytes(GetModifiedXml())); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ stream}); | |
// ------------------------------------------ | |
try | |
{ | |
System::SharedPtr<Project> project = System::MakeObject<Project>(stream, static_cast<ParseErrorCallback>(CustomDurationHandler)); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"PasswordProtectedProject.mpp", System::String(u"password")); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Read project xml into file stream | |
{ | |
System::SharedPtr<System::IO::Stream> filesStream = System::MakeObject<System::IO::FileStream>(dataDir + u"ReadProjectFileFromStream.xml", System::IO::FileMode::Open); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ filesStream}); | |
// ------------------------------------------ | |
try | |
{ | |
// Create project using file stream | |
System::SharedPtr<Project> project = System::MakeObject<Project>(filesStream); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Read existing project template file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadProjectFiles.mpp"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String sharepointDomainAddress = u"https://contoso.sharepoint.com"; | |
System::String userName = u"admin@contoso.onmicrosoft.com"; | |
System::String password = u"MyPassword"; | |
System::SharedPtr<ProjectServerCredentials> credentials = System::MakeObject<ProjectServerCredentials>(sharepointDomainAddress, userName, password); | |
System::SharedPtr<ProjectServerManager> manager = System::MakeObject<ProjectServerManager>(credentials); | |
System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<ProjectInfo>>> list = manager->GetProjectList(); | |
for (const auto& p : System::IterateOver(list)) | |
{ | |
System::Console::WriteLine(u"Name : " + p->get_Name()); | |
System::Console::WriteLine(u"CreatedDate : " + p->get_CreatedDate().ToString()); | |
System::Console::WriteLine(u"Name : " + p->get_LastSavedDate().ToString()); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Specify Encodings | |
{ | |
System::SharedPtr<System::IO::StreamReader> streamReader = System::MakeObject<System::IO::StreamReader>(dataDir + u"Project.mpx", System::Text::Encoding::GetEncoding(u"ISO-8859-1")); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ streamReader}); | |
// ------------------------------------------ | |
try | |
{ | |
auto project = System::MakeObject<Project>(streamReader->get_BaseStream()); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"GetNumberOfPages.mpp"); | |
// Get number of pages, Timescale.Months, Timescale.ThirdsOfMonths | |
int32_t iPages = project->GetPageCount(); | |
iPages = project->GetPageCount(Aspose::Tasks::Visualization::Timescale::Months); | |
iPages = project->GetPageCount(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Read the source Project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"GetNumberOfPagesForViews.mpp"); | |
// Get number of pages, Months and ThirdsOfMonths | |
System::Console::WriteLine(System::String::Format(u"Number of Pages = '{0}'",project->GetPageCount(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage, Aspose::Tasks::Visualization::Timescale::Days))); | |
System::Console::WriteLine(System::String::Format(u"Number of Pages = '{0}'",project->GetPageCount(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage, Aspose::Tasks::Visualization::Timescale::Months))); | |
System::Console::WriteLine(System::String::Format(u"Number of Pages = '{0}'",project->GetPageCount(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage, Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"GetNumberOfPages.mpp"); | |
auto options = [&]{ auto tmp_0 = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::PNG); tmp_0->set_SaveToSeparateFiles(true); tmp_0->set_PageSize(Aspose::Tasks::Visualization::PageSize::A3); tmp_0->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); tmp_0->set_StartDate(project->Get<System::DateTime>(Prj::StartDate()) - System::TimeSpan::FromDays(10)); tmp_0->set_EndDate(project->Get<System::DateTime>(Prj::FinishDate()) + System::TimeSpan::FromDays(30)); return tmp_0; }(); | |
int32_t pageCount = project->GetPageCount(Aspose::Tasks::Visualization::PageSize::A3, Aspose::Tasks::Visualization::Timescale::Months, project->Get<System::DateTime>(Prj::StartDate()) - System::TimeSpan::FromDays(10), project->Get<System::DateTime>(Prj::FinishDate()) + System::TimeSpan::FromDays(30)); | |
System::Console::WriteLine(pageCount); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
// Save project in desired format | |
project->Save(dataDir + u"ExportProjectDataToPrimaveraMPXFormat_out.xml", Aspose::Tasks::Saving::SaveFileFormat::MPX); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
// Save project in desired format | |
project->Save(dataDir + u"ExportProjectDataToXERFormat_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::PrimaveraXER); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp"); | |
// Save project in desired format | |
project->Save(dataDir + u"ExportProjectDataToXMLFormat_out.xml", Aspose::Tasks::Saving::SaveFileFormat::PrimaveraP6XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Primavera1.mpx"); | |
System::SharedPtr<ProjectFileInfo> info = Project::GetProjectFileInfo(dataDir + u"primavera1.mpx"); | |
System::Console::WriteLine(System::ObjectExt::Box<FileFormat>(info->get_ProjectFileFormat())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project.xml"); | |
System::SharedPtr<ProjectFileInfo> info = Project::GetProjectFileInfo(dataDir + u"Project.xml"); | |
System::Console::WriteLine(System::ObjectExt::Box<FileFormat>(info->get_ProjectFileFormat())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<PrimaveraXmlReader> reader = System::MakeObject<PrimaveraXmlReader>(dataDir + u"Project.xml"); | |
System::SharedPtr<System::Collections::Generic::List<int32_t>> listOpProjectUids = reader->GetProjectUids(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<PrimaveraXmlReadingOptions> options = System::MakeObject<PrimaveraXmlReadingOptions>(); | |
options->set_ProjectUid(4557); | |
// Returns project with special Uid | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project.xml", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"project.xml"); | |
// Specify xml save options | |
System::SharedPtr<PrimaveraXmlSaveOptions> options = System::MakeObject<PrimaveraXmlSaveOptions>(); | |
options->set_SaveRootTask(false); | |
project->Save(u"UsingPrimaveraXMLSaveOptions_out.xml", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"CalculateCriticalPath.mpp"); | |
project->set_CalculationMode(Aspose::Tasks::CalculationMode::Automatic); | |
System::SharedPtr<Task> subtask1 = project->get_RootTask()->get_Children()->Add(u"1"); | |
System::SharedPtr<Task> subtask2 = project->get_RootTask()->get_Children()->Add(u"2"); | |
System::SharedPtr<Task> subtask3 = project->get_RootTask()->get_Children()->Add(u"3"); | |
project->get_TaskLinks()->Add(subtask1, subtask2, Aspose::Tasks::TaskLinkType::FinishToStart); | |
// Display the critical path now | |
{ | |
auto task_enumerator = (project->get_CriticalPath())->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(task->Get(Tsk::Name())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<System::Collections::Generic::IDictionary<System::String, System::String>> fileFormatExt = System::MakeObject<System::Collections::Generic::Dictionary<System::String, System::String>>(); | |
fileFormatExt->Add(u"RTF", u"_rtfFile_out.rtf"); | |
fileFormatExt->Add(u"MSWordDoc", u"_wordFile_out.docx"); | |
fileFormatExt->Add(u"ExcelML12", u"_excelFile_out.xlsx"); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Embedded.mpp"); | |
{ | |
auto oleObject_enumerator = (project->get_OleObjects())->GetEnumerator(); | |
decltype(oleObject_enumerator->get_Current()) oleObject; | |
while (oleObject_enumerator->MoveNext() && (oleObject = oleObject_enumerator->get_Current(), true)) | |
{ | |
if (!System::String::IsNullOrEmpty(oleObject->get_FileFormat()) && fileFormatExt->ContainsKey(oleObject->get_FileFormat())) | |
{ | |
System::String path = dataDir + u"EmbeddedContent_" + fileFormatExt->idx_get(oleObject->get_FileFormat()); | |
{ | |
System::SharedPtr<System::IO::FileStream> fileStream = System::MakeObject<System::IO::FileStream>(path, System::IO::FileMode::Create); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ fileStream}); | |
// ------------------------------------------ | |
try | |
{ | |
fileStream->Write(oleObject->get_Content(), 0, oleObject->get_Content()->get_Length()); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ExtractEmbeddedObjects.mpp"); | |
System::SharedPtr<OleObject> ole = project->get_OleObjects()->ToList()->idx_get(0); | |
// We have to check this property because it can be null if the embedded object was created inside the ms project application Or, alternatively, you can use this check: if (ole.FileFormat == "Package") | |
if (!System::String::IsNullOrEmpty(ole->get_FullPath())) | |
{ | |
{ | |
System::SharedPtr<System::IO::FileStream> fileStream = System::MakeObject<System::IO::FileStream>(dataDir, System::IO::FileMode::Create); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ fileStream}); | |
// ------------------------------------------ | |
try | |
{ | |
fileStream->Write(ole->get_Content(), 0, ole->get_Content()->get_Length()); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
try | |
{ | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"PrintTaskWritingException.mpp"); | |
System::Console::Write(u"This example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http://www.aspose.com/purchase/default.aspx."); | |
project->Save(dataDir + u"project_out.MPP", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
} | |
catch (TasksWritingException& ex) | |
{ | |
System::Console::WriteLine(ex->get_LogText()); | |
} | |
catch (System::NotSupportedException& ex) | |
{ | |
System::Console::WriteLine(ex->get_Message() + u"\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http://www.aspose.com/purchase/default.aspx."); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2003.mpp"); | |
System::SharedPtr<Filter> filter = project->get_TaskFilters()->ToList()->idx_get(1); | |
System::Console::WriteLine(filter->get_Criteria()->get_CriteriaRows()->get_Count()); | |
System::Console::WriteLine(System::ObjectExt::ToString(filter->get_Criteria()->get_Operation())); | |
System::SharedPtr<FilterCriteria> criteria1 = filter->get_Criteria()->get_CriteriaRows()->idx_get(0); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria1->get_Test())); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria1->get_Field())); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria1->get_Values()[0])); | |
System::SharedPtr<FilterCriteria> criteria2 = filter->get_Criteria()->get_CriteriaRows()->idx_get(1); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria2->get_Operation())); | |
System::Console::WriteLine(criteria2->get_CriteriaRows()->get_Count()); | |
System::SharedPtr<FilterCriteria> criteria21 = criteria2->get_CriteriaRows()->idx_get(0); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria21->get_Test())); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria21->get_Field())); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria21->get_Values()[0])); | |
System::SharedPtr<FilterCriteria> criteria22 = criteria2->get_CriteriaRows()->idx_get(1); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria22->get_Test())); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria22->get_Field())); | |
System::Console::WriteLine(System::ObjectExt::ToString(criteria22->get_Values()[0])); | |
System::Console::WriteLine(filter->get_Criteria()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Instantiate project and access task filters | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadFilterDefinitionData.mpp"); | |
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Filter>>> taskFilters = project->get_TaskFilters()->ToList(); | |
System::Console::WriteLine(System::String(u"Task Filters Count: ") + taskFilters->get_Count()); | |
System::Console::WriteLine(System::String(u"All Tasks: ") + taskFilters->idx_get(0)->get_Name()); | |
System::Console::WriteLine(System::String(u"Task Item: ") + System::ObjectExt::ToString(taskFilters->idx_get(0)->get_FilterType())); | |
System::Console::WriteLine(System::String(u"Task Filters Show In Menu: ") + taskFilters->idx_get(0)->get_ShowInMenu()); | |
System::Console::WriteLine(System::String(u"Task filter ShowRelatedSummaryRows: ") + taskFilters->idx_get(0)->get_ShowRelatedSummaryRows()); | |
// Access resource filters | |
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Filter>>> rscFilters = project->get_ResourceFilters()->ToList(); | |
System::Console::WriteLine(System::String(u"Project.ResourceFilters count: ") + rscFilters->get_Count()); | |
System::Console::WriteLine(System::String(u"Resource Filter Item Type: Item.ResourceType: ") + System::ObjectExt::ToString(rscFilters->idx_get(0)->get_FilterType())); | |
System::Console::WriteLine(System::String(u"Resource filter ShowInMenu") + rscFilters->idx_get(0)->get_ShowInMenu()); | |
System::Console::WriteLine(System::String(u"Resource filter ShowRelatedSummaryRows: ") + rscFilters->idx_get(0)->get_ShowRelatedSummaryRows()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadGroupDefinitionData.mpp"); | |
System::Console::WriteLine(System::String(u"Task Groups Count: ") + project->get_TaskGroups()->get_Count()); | |
System::SharedPtr<Group> taskGroup = project->get_TaskGroups()->ToList()->idx_get(1); | |
System::Console::WriteLine(u"Group Name:", System::ObjectExt::Box<System::String>(taskGroup->get_Name())); | |
System::Console::WriteLine(System::String(u"Group Criteria count: ") + taskGroup->get_GroupCriteria()->get_Count()); | |
System::Console::WriteLine(u"\n************* Retrieving Task Group's Criterion information *************"); | |
System::SharedPtr<GroupCriterion> criterion = taskGroup->get_GroupCriteria()->ToList()->idx_get(0); | |
System::Console::WriteLine(System::String(u"Criterion Field: ") + System::ObjectExt::ToString(criterion->get_Field())); | |
System::Console::WriteLine(System::String(u"Criterion GroupOn: ") + System::ObjectExt::ToString(criterion->get_GroupOn())); | |
System::Console::WriteLine(System::String(u"Criterion Cell Color: ") + criterion->get_CellColor()); | |
System::Console::WriteLine(System::String(u"Criterion Pattern: ") + System::ObjectExt::ToString(criterion->get_Pattern())); | |
if (taskGroup == criterion->get_ParentGroup()) | |
{ | |
System::Console::WriteLine(u"Parent Group is equval to task Group."); | |
} | |
System::Console::WriteLine(u"\n*********** Retreivnig Criterion's Font Information ***********"); | |
System::Console::WriteLine(System::String(u"Font Name: ") + criterion->get_Font()->get_Name()); | |
System::Console::WriteLine(System::String(u"Font Size: ") + criterion->get_Font()->get_Size()); | |
System::Console::WriteLine(System::String(u"Font Style: ") + System::ObjectExt::ToString(criterion->get_Font()->get_Style())); | |
System::Console::WriteLine(System::String(u"Ascending/Dscending: ") + criterion->get_Ascending()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadTableData.mpp"); | |
// Access table | |
System::SharedPtr<Table> task1 = project->get_Tables()->ToList()->idx_get(0); | |
System::Console::WriteLine(System::String(u"Table Fields Count") + task1->get_TableFields()->get_Count()); | |
// Display all table fields information | |
{ | |
auto tableField_enumerator = (task1->get_TableFields())->GetEnumerator(); | |
decltype(tableField_enumerator->get_Current()) tableField; | |
while (tableField_enumerator->MoveNext() && (tableField = tableField_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Field width: ") + tableField->get_Width()); | |
System::Console::WriteLine(System::String(u"Field Title: ") + tableField->get_Title()); | |
System::Console::WriteLine(System::String(u"Field Title Alignment: ") + System::ObjectExt::ToString(tableField->get_AlignTitle())); | |
System::Console::WriteLine(System::String(u"Field Align Data: ") + System::ObjectExt::ToString(tableField->get_AlignData())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Read an existing project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"MPPFileUpdate.mpp"); | |
// Create a new task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task1"); | |
task->Set(Tsk::Start(), System::DateTime(2012, 8, 1)); | |
task->Set(Tsk::Finish(), System::DateTime(2012, 8, 5)); | |
// Save the project as MPP project file | |
project->Save(dataDir + u"AfterLinking_out.Mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
project->Set<NullableBool>(Prj::ScheduleFromStart(), NullableBool::to_NullableBool(false)); | |
project->Set(Prj::FinishDate(), System::DateTime(2020, 1, 1)); | |
// Now all tasks dates (Start, Finish, EarlyStart, EarlyFinish, LateStart, LateFinish) are calculated. To get the critical path we need to calculate slacks (can be invoked in separate thread, but only after calculation of all early/late dates) | |
project->Recalculate(); | |
System::SharedPtr<TaskCollection> criticalPath = project->get_CriticalPath(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
project->Set<NullableBool>(Prj::ScheduleFromStart(), NullableBool::to_NullableBool(true)); | |
project->Set(Prj::StartDate(), System::DateTime(2014, 1, 1)); | |
// Now all tasks dates (Start, Finish, EarlyStart, EarlyFinish, LateStart, LateFinish) are calculated. To get the critical path we need to calculate slacks (can be invoked in separate thread, but only after calculation of all early/late dates) | |
project->Recalculate(); | |
System::SharedPtr<TaskCollection> criticalPath = project->get_CriticalPath(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
project->Set<NullableBool>(Prj::ScheduleFromStart(), NullableBool::to_NullableBool(false)); | |
project->Set(Prj::FinishDate(), System::DateTime(2020, 1, 1)); | |
// Now all tasks dates (Start, Finish, EarlyStart, EarlyFinish, LateStart, LateFinish) are calculated. To get the critical path we need to calculate slacks (can be invoked in separate thread, but only after calculation of all early/late dates) | |
project->Recalculate(); | |
System::SharedPtr<TaskCollection> criticalPath = project->get_CriticalPath(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a new project and set start date | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
project->Set(Prj::StartDate(), System::DateTime(2014, 1, 27, 8, 0, 0)); | |
// Add new tasks | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
task2->Set<Duration>(Tsk::Duration(), task2->get_ParentProject()->GetDuration(16, Aspose::Tasks::TimeUnitType::Hour)); | |
System::SharedPtr<Task> task3 = project->get_RootTask()->get_Children()->Add(u"Task 3"); | |
task3->Set<Duration>(Tsk::Duration(), task2->get_ParentProject()->GetDuration(24, Aspose::Tasks::TimeUnitType::Hour)); | |
System::SharedPtr<Task> task4 = project->get_RootTask()->get_Children()->Add(u"Task 4"); | |
task4->Set<Duration>(Tsk::Duration(), task2->get_ParentProject()->GetDuration(16, Aspose::Tasks::TimeUnitType::Hour)); | |
System::SharedPtr<Task> task5 = project->get_RootTask()->get_Children()->Add(u"Task 5"); | |
task5->Set<Duration>(Tsk::Duration(), task2->get_ParentProject()->GetDuration(16, Aspose::Tasks::TimeUnitType::Hour)); | |
// Add links between tasks | |
System::SharedPtr<TaskLink> link12 = project->get_TaskLinks()->Add(task1, task2, Aspose::Tasks::TaskLinkType::FinishToStart); | |
System::SharedPtr<TaskLink> link23 = project->get_TaskLinks()->Add(task2, task3, Aspose::Tasks::TaskLinkType::FinishToStart); | |
// One day lag | |
link23->set_LinkLag(4800); | |
System::SharedPtr<TaskLink> link34 = project->get_TaskLinks()->Add(task3, task4, Aspose::Tasks::TaskLinkType::FinishToStart); | |
System::SharedPtr<TaskLink> link45 = project->get_TaskLinks()->Add(task4, task5, Aspose::Tasks::TaskLinkType::FinishToStart); | |
// Add new tasks | |
System::SharedPtr<Task> task6 = project->get_RootTask()->get_Children()->Add(u"Task 6"); | |
System::SharedPtr<Task> task7 = project->get_RootTask()->get_Children()->Add(u"Task 7"); | |
task7->Set<Duration>(Tsk::Duration(), task7->get_ParentProject()->GetDuration(24, Aspose::Tasks::TimeUnitType::Hour)); | |
System::SharedPtr<Task> task8 = project->get_RootTask()->get_Children()->Add(u"Task 8"); | |
task8->Set<Duration>(Tsk::Duration(), task2->get_ParentProject()->GetDuration(16, Aspose::Tasks::TimeUnitType::Hour)); | |
System::SharedPtr<Task> task9 = project->get_RootTask()->get_Children()->Add(u"Task 9"); | |
task9->Set<Duration>(Tsk::Duration(), task2->get_ParentProject()->GetDuration(16, Aspose::Tasks::TimeUnitType::Hour)); | |
System::SharedPtr<Task> task10 = project->get_RootTask()->get_Children()->Add(u"Task 10"); | |
// Add links between tasks | |
System::SharedPtr<TaskLink> link67 = project->get_TaskLinks()->Add(task6, task7, Aspose::Tasks::TaskLinkType::FinishToStart); | |
System::SharedPtr<TaskLink> link78 = project->get_TaskLinks()->Add(task7, task8, Aspose::Tasks::TaskLinkType::FinishToStart); | |
System::SharedPtr<TaskLink> link89 = project->get_TaskLinks()->Add(task8, task9, Aspose::Tasks::TaskLinkType::FinishToStart); | |
System::SharedPtr<TaskLink> link910 = project->get_TaskLinks()->Add(task9, task10, Aspose::Tasks::TaskLinkType::FinishToStart); | |
task6->Set<NullableBool>(Tsk::IsManual(), NullableBool::to_NullableBool(true)); | |
task7->Set<NullableBool>(Tsk::IsManual(), NullableBool::to_NullableBool(true)); | |
task8->Set<NullableBool>(Tsk::IsManual(), NullableBool::to_NullableBool(true)); | |
task9->Set<NullableBool>(Tsk::IsManual(), NullableBool::to_NullableBool(true)); | |
task10->Set<NullableBool>(Tsk::IsManual(), NullableBool::to_NullableBool(true)); | |
// Save project before and after updating work as completed | |
project->Save(dataDir + u"RescheduleUncompletedWork_not updated_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); | |
project->UpdateProjectWorkAsComplete(System::DateTime(2014, 1, 28, 17, 0, 0), false); | |
project->Save(dataDir + u"RescheduleUncompletedWork_updated_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); | |
// Save project after rescheduling uncompleted work | |
project->RescheduleUncompletedWorkToStartAfter(System::DateTime(2014, 2, 7, 8, 0, 0)); | |
project->Save(dataDir + u"RescheduleUncompletedWork_rescheduled_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(project->Get<System::DateTime>(Prj::StartDate()))); | |
System::Console::WriteLine(System::ObjectExt::ToString(project->get_CalculationMode())); | |
project->set_CalculationMode(Aspose::Tasks::CalculationMode::None); | |
System::Console::WriteLine(System::ObjectExt::ToString(project->get_CalculationMode())); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task1"); | |
task->Set(Tsk::Start(), System::DateTime(2012, 8, 1)); | |
task->Set(Tsk::Finish(), System::DateTime(2012, 8, 5)); | |
System::Console::WriteLine(u"*************** Before Recalculate *****************"); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(task->Get<System::DateTime>(Tsk::Start()))); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(task->Get<System::DateTime>(Tsk::Finish()))); | |
project->Recalculate(); | |
System::Console::WriteLine(u"*************** After Recalculate *****************"); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(task->Get<System::DateTime>(Tsk::Start()))); | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(task->Get<System::DateTime>(Tsk::Finish()))); | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
System::SharedPtr<ExtendedAttributeDefinition> myTextAttributeDefinition = project1->get_ExtendedAttributes()->GetById((int32_t)Aspose::Tasks::ExtendedAttributeTask::Text1); | |
// If the Custom field doesn't exist in Project, create it | |
if (myTextAttributeDefinition == nullptr) | |
{ | |
myTextAttributeDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Text1, u"My text field"); | |
project1->get_ExtendedAttributes()->Add(myTextAttributeDefinition); | |
} | |
// Generate Extended Attribute from definition | |
System::SharedPtr<ExtendedAttribute> text1TaskAttribute = myTextAttributeDefinition->CreateExtendedAttribute(); | |
text1TaskAttribute->set_TextValue(u"Text attribute value"); | |
// Add extended attribute to task | |
System::SharedPtr<Task> tsk = project1->get_RootTask()->get_Children()->Add(u"Task 1"); | |
tsk->get_ExtendedAttributes()->Add(text1TaskAttribute); | |
project1->Save(dataDir + u"CreateExtendedAttributes_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ExtendedAttributes.mpp"); | |
// Create extended attribute definition | |
System::SharedPtr<ExtendedAttributeDefinition> attributeDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Start, Aspose::Tasks::ExtendedAttributeTask::Start7, u"Start 7"); | |
project->get_ExtendedAttributes()->Add(attributeDefinition); | |
// Get zero index task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
// Add extended attribute | |
System::SharedPtr<ExtendedAttribute> attribute = attributeDefinition->CreateExtendedAttribute(); | |
attribute->set_DateValue(System::DateTime::get_Now()); | |
// Also the following short syntax can be used: ExtendedAttribute attribute = attributeDefinition.CreateExtendedAttribute(DateTime.Now); | |
task->get_ExtendedAttributes()->Add(attribute); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteUpdatedExtendedAttributeDefinitions.mpp"); | |
// C# preprocessor directive: #region task attributes | |
// Add new text3 extended attribute with lookup and one lookup value | |
System::SharedPtr<ExtendedAttributeDefinition> taskTextAttributeDefinition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Text3, u"New text3 attribute"); | |
taskTextAttributeDefinition->set_ElementType(Aspose::Tasks::ElementType::Task); | |
project->get_ExtendedAttributes()->Add(taskTextAttributeDefinition); | |
System::SharedPtr<Value> textVal = System::MakeObject<Value>(); | |
textVal->set_Id(1); | |
textVal->set_Description(u"Text value descr"); | |
textVal->set_Val(u"Text value1"); | |
taskTextAttributeDefinition->AddLookupValue(textVal); | |
// Add new cost1 extended attribute with lookup and two cost values | |
System::SharedPtr<ExtendedAttributeDefinition> taskCostAttributeDefinition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Cost1, u"New cost1 attribute"); | |
project->get_ExtendedAttributes()->Add(taskCostAttributeDefinition); | |
System::SharedPtr<Value> costVal1 = System::MakeObject<Value>(); | |
costVal1->set_Id(2); | |
costVal1->set_Description(u"Cost value 1 descr"); | |
costVal1->set_Val(u"99900"); | |
System::SharedPtr<Value> costVal2 = System::MakeObject<Value>(); | |
costVal2->set_Id(3); | |
costVal2->set_Description(u"Cost value 2 descr"); | |
costVal2->set_Val(u"11100"); | |
taskCostAttributeDefinition->AddLookupValue(costVal1); | |
taskCostAttributeDefinition->AddLookupValue(costVal2); | |
// Add new task and assign attribute lookup value. | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"New task"); | |
System::SharedPtr<ExtendedAttribute> taskAttr = taskCostAttributeDefinition->CreateExtendedAttribute(costVal1); | |
task->get_ExtendedAttributes()->Add(taskAttr); | |
System::SharedPtr<ExtendedAttributeDefinition> taskStartAttributeDefinition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Start7, u"New start 7 attribute"); | |
System::SharedPtr<Value> startVal = System::MakeObject<Value>(); | |
startVal->set_Id(4); | |
startVal->set_DateTimeValue(System::DateTime::get_Now()); | |
startVal->set_Description(u"Start 7 value description"); | |
taskStartAttributeDefinition->AddLookupValue(startVal); | |
project->get_ExtendedAttributes()->Add(taskStartAttributeDefinition); | |
System::SharedPtr<ExtendedAttributeDefinition> taskFinishAttributeDefinition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Finish4, u"New finish 4 attribute"); | |
System::SharedPtr<Value> finishVal = System::MakeObject<Value>(); | |
finishVal->set_Id(5); | |
finishVal->set_DateTimeValue(System::DateTime::get_Now()); | |
finishVal->set_Description(u"Finish 4 value description"); | |
taskFinishAttributeDefinition->get_ValueList()->Add(finishVal); | |
project->get_ExtendedAttributes()->Add(taskFinishAttributeDefinition); | |
System::SharedPtr<ExtendedAttributeDefinition> numberAttributeDefinition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Number20, u"New number attribute"); | |
System::SharedPtr<Value> val1 = System::MakeObject<Value>(); | |
val1->set_Id(6); | |
val1->set_Val(u"1"); | |
val1->set_Description(u"Number 1 value"); | |
System::SharedPtr<Value> val2 = System::MakeObject<Value>(); | |
val2->set_Id(7); | |
val2->set_Val(u"2"); | |
val2->set_Description(u"Number 2 value"); | |
System::SharedPtr<Value> val3 = System::MakeObject<Value>(); | |
val2->set_Id(8); | |
val3->set_Val(u"3"); | |
val3->set_Description(u"Number 3 value"); | |
numberAttributeDefinition->AddLookupValue(val1); | |
numberAttributeDefinition->AddLookupValue(val2); | |
numberAttributeDefinition->AddLookupValue(val3); | |
project->get_ExtendedAttributes()->Add(numberAttributeDefinition); | |
// C# preprocessor directive: #endregion | |
System::SharedPtr<ExtendedAttributeDefinition> rscStartAttributeDefinition = ExtendedAttributeDefinition::CreateLookupResourceDefinition(Aspose::Tasks::ExtendedAttributeResource::Start5, u"New start5 attribute"); | |
System::SharedPtr<Value> startVal2 = System::MakeObject<Value>(); | |
startVal2->set_Id(9); | |
startVal2->set_DateTimeValue(System::DateTime::get_Now()); | |
startVal2->set_Description(u"this is start5 value descr"); | |
rscStartAttributeDefinition->AddLookupValue(startVal2); | |
project->get_ExtendedAttributes()->Add(rscStartAttributeDefinition); | |
// Define a duration attribute without lookup. | |
System::SharedPtr<ExtendedAttributeDefinition> taskDurationAttributeDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Duration1, u"New Duration"); | |
project->get_ExtendedAttributes()->Add(taskDurationAttributeDefinition); | |
// Add new task and assign duration value to the previously defined duration attribute. | |
System::SharedPtr<Task> timeTask = project->get_RootTask()->get_Children()->Add(u"New task"); | |
System::SharedPtr<ExtendedAttribute> durationExtendedAttribute = taskDurationAttributeDefinition->CreateExtendedAttribute(); | |
durationExtendedAttribute->set_DurationValue(project->GetDuration(3.0, Aspose::Tasks::TimeUnitType::Hour)); | |
timeTask->get_ExtendedAttributes()->Add(durationExtendedAttribute); | |
System::SharedPtr<MPPSaveOptions> mppSaveOptions = System::MakeObject<MPPSaveOptions>(); | |
mppSaveOptions->set_WriteViewData(true); | |
// Save the project as MPP project file | |
project->Save(dataDir + u"WriteUpdatedExtendedAttributeDefinitions_out.mpp", mppSaveOptions); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"OutlineValues2010.mpp"); | |
System::SharedPtr<OutlineCodeDefinition> textOutline = System::MakeObject<OutlineCodeDefinition>(); | |
textOutline->set_FieldId(System::Convert::ToString((int)Aspose::Tasks::ExtendedAttributeTask::OutlineCode7)); | |
textOutline->set_Alias(u"My Outline Code"); | |
project->get_OutlineCodes()->Add(textOutline); | |
System::SharedPtr<OutlineMask> mask = System::MakeObject<OutlineMask>(); | |
mask->set_Type(Aspose::Tasks::MaskType::Characters); | |
textOutline->get_Masks()->Add(mask); | |
System::SharedPtr<OutlineValue> textValue = System::MakeObject<OutlineValue>(); | |
textValue->set_Value(u"Text value 1"); | |
textValue->set_ValueId(1); | |
textValue->set_Type(Aspose::Tasks::OutlineValueType::Text); | |
textValue->set_Description(u"Text value descr 1"); | |
textOutline->get_Values()->Add(textValue); | |
project->Save(dataDir + u"MultipleOutlineValues.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"OutlineCodes.mpp"); | |
{ | |
auto ocd_enumerator = (project->get_OutlineCodes())->GetEnumerator(); | |
decltype(ocd_enumerator->get_Current()) ocd; | |
while (ocd_enumerator->MoveNext() && (ocd = ocd_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Alias = ") + ocd->get_Alias()); | |
if (ocd->get_AllLevelsRequired()) | |
{ | |
System::Console::WriteLine(u"It contains property: must have all levels"); | |
} | |
else | |
{ | |
System::Console::WriteLine(u"It does not contain property: must have all levels"); | |
} | |
if (ocd->get_Enterprise()) | |
{ | |
System::Console::WriteLine(u"It is an enterprise custom outline code."); | |
} | |
else | |
{ | |
System::Console::WriteLine(u"It is not an enterprise custom outline code."); | |
} | |
System::Console::WriteLine(System::String(u"Reference to another custom field for which this outline code definition is an alias is = ") + ocd->get_EnterpriseOutlineCodeAlias()); | |
System::Console::WriteLine(System::String(u"Field Id = ") + ocd->get_FieldId()); | |
System::Console::WriteLine(System::String(u"Field Name = ") + ocd->get_FieldName()); | |
System::Console::WriteLine(System::String(u"Phonetic Alias = ") + ocd->get_PhoneticAlias()); | |
System::Console::WriteLine(System::String(u"Guid = ") + ocd->get_Guid()); | |
// Display outline code masks | |
{ | |
auto outlineMask_enumerator = (ocd->get_Masks())->GetEnumerator(); | |
decltype(outlineMask_enumerator->get_Current()) outlineMask; | |
while (outlineMask_enumerator->MoveNext() && (outlineMask = outlineMask_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Level of a mask = ") + outlineMask->get_Level()); | |
System::Console::WriteLine(System::String(u"Mask = ") + System::ObjectExt::ToString(outlineMask)); | |
} | |
} | |
// Display out line code values | |
{ | |
auto outlineMask1_enumerator = (ocd->get_Values())->GetEnumerator(); | |
decltype(outlineMask1_enumerator->get_Current()) outlineMask1; | |
while (outlineMask1_enumerator->MoveNext() && (outlineMask1 = outlineMask1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Description of outline value = ") + outlineMask1->get_Description()); | |
System::Console::WriteLine(System::String(u"Value Id = ") + outlineMask1->get_ValueId()); | |
System::Console::WriteLine(System::String(u"Value = ") + outlineMask1->get_Value()); | |
System::Console::WriteLine(System::String(u"Type = ") + System::ObjectExt::ToString(outlineMask1->get_Type())); | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project and set calculation mode to Automatic | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
project->set_CalculationMode(Aspose::Tasks::CalculationMode::Automatic); | |
// Set project start date and add new tasks | |
project->Set(Prj::StartDate(), System::DateTime(2015, 4, 15)); | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
// Link tasks | |
System::SharedPtr<TaskLink> link = project->get_TaskLinks()->Add(task1, task2, Aspose::Tasks::TaskLinkType::FinishToStart); | |
// Verify dates have been recalculated | |
System::Console::WriteLine(u"Task1 Start + 1 Equals Task2 Start : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task1->Get<System::DateTime>(Tsk::Start()).AddDays(1), task2->Get<System::DateTime>(Tsk::Start())))); | |
System::Console::WriteLine(u"Task1 Finish + 1 Equals Task2 Finish : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task1->Get<System::DateTime>(Tsk::Finish()).AddDays(1), task2->Get<System::DateTime>(Tsk::Finish())))); | |
System::Console::WriteLine(u"RootTask Finish Equals Task2 Finish : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task2->Get<System::DateTime>(Tsk::Finish()), project->get_RootTask()->Get<System::DateTime>(Tsk::Finish())))); | |
System::Console::WriteLine(u"Project Finish Date Equals Task2 Finish : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task2->Get<System::DateTime>(Tsk::Finish()), project->Get<System::DateTime>(Prj::FinishDate())))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project and set calculation mode to Manual | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
project->set_CalculationMode(Aspose::Tasks::CalculationMode::Manual); | |
// Set project start date and add new tasks | |
project->Set(Prj::StartDate(), System::DateTime(2015, 4, 15)); | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
// The necessary properties are set in manual mode | |
System::Console::WriteLine(u"Task1.Id Equals 1 : {0} ", System::ObjectExt::Box<bool>(System::Equals(task1->Get<int32_t>(Tsk::Id()), 1))); | |
System::Console::WriteLine(u"Task1 OutlineLevel Equals 1 : {0} ", System::ObjectExt::Box<bool>(System::Equals(task1->Get<int32_t>(Tsk::OutlineLevel()), 1))); | |
System::Console::WriteLine(u"Task1 Start Equals 15/04/2015 08:00 AM : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task1->Get<System::DateTime>(Tsk::Start()), System::DateTime(2015, 4, 15, 8, 0, 0)))); | |
System::Console::WriteLine(u"Task1 Finish Equals 15/04/2015 05:00 PM : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task1->Get<System::DateTime>(Tsk::Finish()), System::DateTime(2015, 4, 15, 17, 0, 0)))); | |
System::Console::WriteLine(u"Task1 Duration Equals 1 day : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(task1->Get<Duration>(Tsk::Duration())), u"1 day"))); | |
System::Console::WriteLine(u"Task2 Start Equals 15/04/2015 08:00 AM : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task2->Get<System::DateTime>(Tsk::Start()), System::DateTime(2015, 4, 15, 8, 0, 0)))); | |
System::Console::WriteLine(u"Task2 Finish Equals 15/04/2015 05:00 PM : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task2->Get<System::DateTime>(Tsk::Finish()), System::DateTime(2015, 4, 15, 17, 0, 0)))); | |
System::Console::WriteLine(u"Task2 Duration Equals 1 day : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(task2->Get<Duration>(Tsk::Duration())), u"1 day"))); | |
// When we link two tasks together their dates are not recalculated in manual mode | |
System::SharedPtr<TaskLink> link = project->get_TaskLinks()->Add(task1, task2, Aspose::Tasks::TaskLinkType::FinishToStart); | |
// Task 2 Start has not been changed | |
System::Console::WriteLine(u"Task1 Start Equals Task2 Start : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task1->Get<System::DateTime>(Tsk::Start()), task2->Get<System::DateTime>(Tsk::Start())))); | |
System::Console::WriteLine(u"Task1 Finish Equals Task2 Finish : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task1->Get<System::DateTime>(Tsk::Finish()), task2->Get<System::DateTime>(Tsk::Finish())))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project and set calculation mode to None | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
project->set_CalculationMode(Aspose::Tasks::CalculationMode::None); | |
// Add a new task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
// Note that even ids were not calculated | |
System::Console::WriteLine(u"Task.Id Equals 0 : {0} ", System::ObjectExt::Box<bool>(System::Equals(task->Get<int32_t>(Tsk::Id()), 0))); | |
System::Console::WriteLine(u"Task.OutlineLevel Equals 0 : {0} ", System::ObjectExt::Box<bool>(System::Equals(task->Get<int32_t>(Tsk::OutlineLevel()), 0))); | |
System::Console::WriteLine(u"Task Start Equals DateTime.MinValue : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task->Get<System::DateTime>(Tsk::Start()), System::DateTime::MinValue))); | |
System::Console::WriteLine(u"Task Finish Equals DateTime.MinValue : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task->Get<System::DateTime>(Tsk::Finish()), System::DateTime::MinValue))); | |
System::Console::WriteLine(u"Task Duration Equals 0 mins : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(task->Get<Duration>(Tsk::Duration())), u"0 mins"))); | |
// Set duration property | |
task->Set<Duration>(Tsk::Duration(), project->GetDuration(2, Aspose::Tasks::TimeUnitType::Day)); | |
System::Console::WriteLine(u"Task Duration Equals 2 days : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(task->Get<Duration>(Tsk::Duration())), u"2 days"))); | |
System::Console::WriteLine(u"Task Start Equals DateTime.MinValue : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task->Get<System::DateTime>(Tsk::Start()), System::DateTime::MinValue))); | |
System::Console::WriteLine(u"Task Finish Equals DateTime.MinValue : {0} ", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(task->Get<System::DateTime>(Tsk::Finish()), System::DateTime::MinValue))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Read project from template file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"DetermineProjectVersion.mpp"); | |
// Display project version | |
System::Console::WriteLine(System::String(u"Project Version : ") + System::Convert::ToString(project->Get<int32_t>(Prj::SaveVersion()))); | |
System::Console::WriteLine(System::String(u"Last Saved : ") + project->Get<System::DateTime>(Prj::LastSaved()).ToShortDateString()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadCurrencyProperties.mpp"); | |
// Display currency properties | |
System::Console::WriteLine(System::String(u"Currency Code : ") + System::ObjectExt::ToString(project->Get<System::String>(Prj::CurrencyCode()))); | |
System::Console::WriteLine(System::String(u"<br>Currency Digits : ") + System::Convert::ToString(project->Get<int32_t>(Prj::CurrencyDigits()))); | |
System::Console::WriteLine(System::String(u"<br>Currency Symbol : ") + System::ObjectExt::ToString(project->Get<System::String>(Prj::CurrencySymbol()))); | |
System::Console::WriteLine(System::String(u"Currency Symbol Position") + System::ObjectExt::ToString(project->Get<CurrencySymbolPositionType>(Prj::CurrencySymbolPosition()))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"DefaultProperties.mpp"); | |
// Display default properties | |
System::Console::WriteLine(System::String(u"New Task Default Start: ") + project->Get<System::DateTime>(Prj::DefaultStartTime()).ToShortDateString()); | |
System::Console::WriteLine(System::String(u"New Task Default Type: ") + System::ObjectExt::ToString(project->Get<TaskType>(Prj::DefaultTaskType()))); | |
System::Console::WriteLine(System::String(u"Resouce Default Standard Rate: ") + System::Convert::ToString(project->Get<double>(Prj::DefaultStandardRate()))); | |
System::Console::WriteLine(System::String(u"Resource Default Overtime Rate: ") + System::Convert::ToString(project->Get<double>(Prj::DefaultOvertimeRate()))); | |
System::Console::WriteLine(System::String(u"Default Task EV Method: ") + System::ObjectExt::ToString(project->Get<EarnedValueMethodType>(Prj::DefaultTaskEVMethod()))); | |
System::Console::WriteLine(System::String(u"Default Cost Accrual: ") + System::ObjectExt::ToString(project->Get<CostAccrualType>(Prj::DefaultFixedCostAccrual()))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadFiscalYearProperties.mpp"); | |
// Display fiscal year properties | |
System::Console::WriteLine(System::String(u"Fiscal Year Start Date : ") + System::ObjectExt::ToString(project->Get<Month>(Prj::FyStartDate()))); | |
System::Console::WriteLine(System::String(u"Fiscal Year Numbering : ") + System::ObjectExt::ToString(project->Get<NullableBool>(Prj::FiscalYearStart()))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project reader instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadProjectInfo.mpp"); | |
// Built-in properties are available directly: | |
System::Console::WriteLine(u"Author: " + project->get_BuiltInProps()->get_Author()); | |
System::Console::WriteLine(u"Category: " + project->get_BuiltInProps()->get_Category()); | |
System::Console::WriteLine(u"Comments: " + project->get_BuiltInProps()->get_Comments()); | |
System::Console::WriteLine(u"Company: " + project->get_BuiltInProps()->get_Company()); | |
System::Console::WriteLine(u"HyperlinkBase: " + project->get_BuiltInProps()->get_HyperlinkBase()); | |
System::Console::WriteLine(u"IsReadOnly: " + project->get_BuiltInProps()->get_IsReadOnly()); | |
System::Console::WriteLine(u"Keywords: " + project->get_BuiltInProps()->get_Keywords()); | |
System::Console::WriteLine(u"Manager: " + project->get_BuiltInProps()->get_Manager()); | |
System::Console::WriteLine(u"Subject: " + project->get_BuiltInProps()->get_Subject()); | |
System::Console::WriteLine(u"Title: " + project->get_BuiltInProps()->get_Title()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project reader instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadProjectInfo.mpp"); | |
// Display project information | |
if (NullableBool::to_Boolean(project->Get<NullableBool>(Prj::ScheduleFromStart()))) | |
{ | |
System::Console::WriteLine(System::String(u"Project Finish Date : ") + project->Get<System::DateTime>(Prj::StartDate()).ToShortDateString()); | |
} | |
else | |
{ | |
System::Console::WriteLine(System::String(u"Project Finish Date : ") + project->Get<System::DateTime>(Prj::FinishDate()).ToShortDateString()); | |
} | |
System::Console::WriteLine(project->Get<System::String>(Prj::Author())); | |
System::Console::WriteLine(project->Get<System::String>(Prj::LastAuthor())); | |
System::Console::WriteLine(project->Get<int32_t>(Prj::Revision())); | |
System::Console::WriteLine(project->Get<System::String>(Prj::Keywords())); | |
System::Console::WriteLine(project->Get<System::String>(Prj::Comments())); | |
System::Console::WriteLine(u"The program has run successfully"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadWeekdayProperties.mpp"); | |
// Display week days properties | |
System::Console::WriteLine(System::String(u"Week Start Date : ") + System::ObjectExt::ToString(project->Get<DayType>(Prj::WeekStartDay()))); | |
System::Console::WriteLine(System::String(u"Days Per Month : ") + System::Convert::ToString(project->Get<int32_t>(Prj::DaysPerMonth()))); | |
System::Console::WriteLine(System::String(u"Minutes Per Day : ") + System::Convert::ToString(project->Get<int32_t>(Prj::MinutesPerDay()))); | |
System::Console::WriteLine(System::String(u"Minutes Per Week : ") + System::Convert::ToString(project->Get<int32_t>(Prj::MinutesPerWeek()))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance Set new task property and Save the project as XML project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
project->Set<TaskStartDateType>(Prj::NewTaskStartDate(), Aspose::Tasks::TaskStartDateType::CurrentDate); | |
project->Save(dataDir + u"SetAttributesForNewTasks_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); | |
// Display Status. | |
System::Console::WriteLine(u"New Task created with start date successfully."); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteCurrencyProperties.mpp"); | |
// Set currency properties | |
project->Set<System::String>(Prj::CurrencyCode(), u"AUD"); | |
project->Set<int32_t>(Prj::CurrencyDigits(), 2); | |
project->Set<System::String>(Prj::CurrencySymbol(), u"$"); | |
project->Set<CurrencySymbolPositionType>(Prj::CurrencySymbolPosition(), Aspose::Tasks::CurrencySymbolPositionType::After); | |
// Save the project as XML project file | |
project->Save(dataDir + u"WriteCurrencyProperties_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance and Set default properties | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
project->Set<NullableBool>(Prj::ScheduleFromStart(), NullableBool::to_NullableBool(true)); | |
project->Set(Prj::StartDate(), System::DateTime::get_Now()); | |
project->Set(Prj::DefaultStartTime(), project->Get<System::DateTime>(Prj::StartDate())); | |
project->Set<TaskType>(Prj::DefaultTaskType(), Aspose::Tasks::TaskType::FixedDuration); | |
project->Set<double>(Prj::DefaultStandardRate(), 15.0); | |
project->Set<double>(Prj::DefaultOvertimeRate(), 12.0); | |
project->Set<EarnedValueMethodType>(Prj::DefaultTaskEVMethod(), Aspose::Tasks::EarnedValueMethodType::PercentComplete); | |
project->Set<CostAccrualType>(Prj::DefaultFixedCostAccrual(), Aspose::Tasks::CostAccrualType::Prorated); | |
// Save the project to XML format | |
project->Save(dataDir + u"WriteDefaultProperties_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteFiscalYearProperties.mpp"); | |
// Set fiscal year properties | |
project->Set<Month>(Prj::FyStartDate(), Aspose::Tasks::Month::July); | |
project->Set<NullableBool>(Prj::FiscalYearStart(), NullableBool::to_NullableBool(true)); | |
project->Save(dataDir + u"WriteFiscalYearProperties_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Instantiate Project class | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteMPPProjectSummary.mpp"); | |
// Set project summary | |
project->Set<System::String>(Prj::Author(), u"Author"); | |
project->Set<System::String>(Prj::LastAuthor(), u"Last Author"); | |
project->Set<int32_t>(Prj::Revision(), 15); | |
project->Set<System::String>(Prj::Keywords(), u"MSP Aspose"); | |
project->Set<System::String>(Prj::Comments(), u"Comments"); | |
project->Save(dataDir + u"WriteMPPProjectSummary_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
try | |
{ | |
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project from template file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteProjectInfo.mpp"); | |
// Set project information | |
project->Set<System::String>(Prj::Author(), u"Author"); | |
project->Set<System::String>(Prj::LastAuthor(), u"Last Author"); | |
project->Set<int32_t>(Prj::Revision(), 15); | |
project->Set<System::String>(Prj::Keywords(), u"MSP Aspose"); | |
project->Set<System::String>(Prj::Comments(), u"Comments"); | |
project->Save(dataDir + u"WriteProjectInfo_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex->get_Message() + u"\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http://www.aspose.com/purchase/default.aspx."); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create a project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteWeekdayProperties.mpp"); | |
// Set week days properties | |
project->Set<DayType>(Prj::WeekStartDay(), Aspose::Tasks::DayType::Monday); | |
project->Set<int32_t>(Prj::DaysPerMonth(), 24); | |
project->Set<int32_t>(Prj::MinutesPerDay(), 540); | |
project->Set<int32_t>(Prj::MinutesPerWeek(), 3240); | |
project->Save(dataDir + u"WriteWeekdayProperties_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project5.mpp"); | |
// Create a new project task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"New Activity"); | |
// Define new custom attribute | |
System::SharedPtr<ExtendedAttributeDefinition> text1Definition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Text1, nullptr); | |
project->get_ExtendedAttributes()->Add(text1Definition); | |
// Add custom text attribute to created task. | |
task->get_ExtendedAttributes()->Add(text1Definition->CreateExtendedAttribute(System::String(u"Activity attribute"))); | |
// Customize table by adding text attribute field | |
System::SharedPtr<TableField> attrField = System::MakeObject<TableField>(); | |
attrField->set_Field(Aspose::Tasks::Field::TaskText1); | |
attrField->set_Width(20); | |
attrField->set_Title(u"Custom attribute"); | |
attrField->set_AlignTitle(System::Drawing::StringAlignment::Center); | |
attrField->set_AlignData(System::Drawing::StringAlignment::Center); | |
System::SharedPtr<Table> table = project->get_Tables()->ToList()->idx_get(0); | |
table->get_TableFields()->Insert(3, attrField); | |
project->Save(dataDir + u"ConfigureGantChart_out.mpp", [&]{ auto tmp_0 = System::MakeObject<MPPSaveOptions>(); tmp_0->set_WriteViewData(true); return tmp_0; }()); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex->get_Message() + u"\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http:// Www.aspose.com/purchase/default.aspx."); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project5.mpp"); | |
// Create a new project task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"New Activity"); | |
// Define new custom attribute | |
System::SharedPtr<ExtendedAttributeDefinition> text1Definition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Text1, nullptr); | |
project->get_ExtendedAttributes()->Add(text1Definition); | |
// Add custom text attribute to created task. | |
task->get_ExtendedAttributes()->Add(text1Definition->CreateExtendedAttribute(System::String(u"Activity attribute"))); | |
// Customize table by adding text attribute field | |
System::SharedPtr<TableField> attrField = System::MakeObject<TableField>(); | |
attrField->set_Field(Aspose::Tasks::Field::TaskText1); | |
attrField->set_Width(20); | |
attrField->set_Title(u"Custom attribute"); | |
attrField->set_AlignTitle(System::Drawing::StringAlignment::Center); | |
attrField->set_AlignData(System::Drawing::StringAlignment::Center); | |
System::SharedPtr<Table> table = project->get_Tables()->ToList()->idx_get(0); | |
table->get_TableFields()->Insert(3, attrField); | |
// Save project as MPP | |
project->Save(dataDir + u"ConfigureTheGantChartViewShowSelectedColumnFields_out.mpp", [&]{ auto tmp_0 = System::MakeObject<MPPSaveOptions>(); tmp_0->set_WriteViewData(true); return tmp_0; }()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project5.mpp"); | |
// Add task links | |
project->get_TaskLinks()->Add(project->get_RootTask()->get_Children()->Add(u"Task 1"), project->get_RootTask()->get_Children()->Add(u"Task 2")); | |
System::SharedPtr<GanttChartView> view = System::DynamicCast<Aspose::Tasks::GanttChartView>(project->get_DefaultView()); | |
// This code is added for better visualization | |
view->get_MiddleTimescaleTier()->set_Unit(Aspose::Tasks::Visualization::TimescaleUnit::Months); | |
project->Set(Prj::TimescaleStart(), System::DateTime(2012, 8, 6)); | |
// Customize middle tier dates | |
// CSPORTCPP: [WARNING] Using local variables. Make sure that local function ptr does not leave the current scope. | |
std::function<System::String(System::DateTime date)> _local_func_0 = [](System::DateTime date) | |
{ | |
return System::MakeArray<System::String>({u"Янв.", u"Фев.", u"Мар.", u"Апр.", u"Май", u"Июнь", u"Июль", u"Авг.", u"Сен.", u"Окт.", u"Ноя.", u"Дек."})->idx_get(date.get_Month() - 1); | |
}; | |
view->get_MiddleTimescaleTier()->set_DateTimeConverter(_local_func_0); | |
project->Save(dataDir + u"CustomizeTimescaleTierLabels_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadSpecificGantChartViewData.mpp"); | |
System::SharedPtr<GanttChartView> view = System::DynamicCast_noexcept<Aspose::Tasks::GanttChartView>(project->get_Views()->ToList()->idx_get(0)); | |
System::Console::WriteLine(System::String(u"Is Bar Rounding: ") + view->get_BarRounding()); | |
System::Console::WriteLine(System::String(u"Show Bar Splits? : ") + view->get_ShowBarSplits()); | |
System::Console::WriteLine(System::String(u"Show Drawings? : ") + view->get_ShowDrawings()); | |
System::Console::WriteLine(System::String(u"Roll Up Gantt Bars? ") + view->get_RollUpGanttBars()); | |
System::Console::WriteLine(System::String(u"Hide Rollup Bars When Summary Expa0nded: ") + view->get_HideRollupBarsWhenSummaryExpanded()); | |
System::Console::WriteLine(System::String(u"Bar Size: ") + System::ObjectExt::ToString(view->get_BarSize())); | |
System::Console::WriteLine(System::String(u"Bar Style: ") + view->get_BarStyles()->get_Count()); | |
System::Console::WriteLine(u"\n************************ RETREIVING BAR STYLES INFORMATION FROM THE VIEW *********************"); | |
int32_t i = 0; | |
{ | |
auto barStyle_enumerator = (view->get_BarStyles())->GetEnumerator(); | |
decltype(barStyle_enumerator->get_Current()) barStyle; | |
while (barStyle_enumerator->MoveNext() && (barStyle = barStyle_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Name: ") + barStyle->get_Name()); | |
System::Console::WriteLine(System::String(u"ShowForCategories: ") + System::ObjectExt::ToString(barStyle->get_ShowForCategories())); | |
System::Console::WriteLine(System::String(u"ShowForTaskUid: ") + System::ObjectExt::ToString(barStyle->get_ShowForTaskUid())); | |
System::Console::WriteLine(System::String(u"Row: ") + barStyle->get_Row()); | |
System::Console::WriteLine(System::String(u"From: ") + System::ObjectExt::ToString(barStyle->get_From())); | |
System::Console::WriteLine(System::String(u"To: ") + System::ObjectExt::ToString(barStyle->get_To())); | |
System::Console::WriteLine(System::String(u"MiddleShape: ") + System::ObjectExt::ToString(barStyle->get_MiddleShape())); | |
System::Console::WriteLine(System::String(u"MiddleShapeColor: ") + barStyle->get_MiddleShapeColor()); | |
System::Console::WriteLine(System::String(u"StartShape: ") + System::ObjectExt::ToString(barStyle->get_StartShape())); | |
System::Console::WriteLine(System::String(u"EndShape: ") + System::ObjectExt::ToString(barStyle->get_EndShape())); | |
System::Console::WriteLine(System::String(u"EndShapeColor: ") + barStyle->get_EndShapeColor()); | |
i++; | |
} | |
} | |
System::Console::WriteLine(System::String(u"Grid Lines Count: ") + view->get_Gridlines()->get_Count()); | |
System::SharedPtr<Gridlines> gridlines = view->get_Gridlines()->idx_get(0); | |
System::Console::WriteLine(u"\n************************ RETREIVING GRID LINES PROPERTIES *********************"); | |
System::Console::WriteLine(System::String(u"GridLine Type: ") + System::ObjectExt::ToString(gridlines->get_Type())); | |
System::Console::WriteLine(System::String(u"Gridlines Internval: ") + gridlines->get_Interval()); | |
System::Console::WriteLine(System::String(u"Gridlines Color: ") + gridlines->get_NormalColor()); | |
System::Console::WriteLine(System::String(u"Gridlines NormalPattern: ") + System::ObjectExt::ToString(gridlines->get_NormalPattern())); | |
System::Console::WriteLine(System::String(u"Gridlines IntervalPattern: ") + System::ObjectExt::ToString(gridlines->get_IntervalPattern())); | |
System::Console::WriteLine(System::String(u"Gridlines IntervalColor: ") + gridlines->get_IntervalColor()); | |
System::Console::WriteLine(u"\n************************ RETREIVING PROGRESS LINES PROPERTIES *********************"); | |
System::Console::WriteLine(u"ProgressLInes.BeginAtDate: ", System::ObjectExt::Box<System::DateTime>(view->get_ProgressLines()->get_BeginAtDate())); | |
System::Console::WriteLine(System::String(u"ProgressLines.isBaselinePlan: ") + view->get_ProgressLines()->get_IsBaselinePlan()); | |
System::Console::WriteLine(System::String(u"ProgressLines.DisplaySelected: ") + view->get_ProgressLines()->get_DisplaySelected()); | |
System::Console::WriteLine(System::String(u"ProgressLines.SelectedDates.Count: ") + view->get_ProgressLines()->get_SelectedDates()->get_Count()); | |
System::Console::WriteLine(System::String(u"ProgressLines.SelectedDates[0]: ") + view->get_ProgressLines()->get_SelectedDates()->idx_get(0)); | |
System::Console::WriteLine(System::String(u"ProgressLines.SelectedDates[1]: ") + view->get_ProgressLines()->get_SelectedDates()->idx_get(1)); | |
System::Console::WriteLine(System::String(u"ProgressLines.SelectedDates[2]: ") + view->get_ProgressLines()->get_SelectedDates()->idx_get(2)); | |
System::Console::WriteLine(System::String(u"ProgressLines.DisplayAtRecurringIntervals: ") + view->get_ProgressLines()->get_DisplayAtRecurringIntervals()); | |
System::Console::WriteLine(System::String(u"ProgressLines.RecurringInterval.Interval: ") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::Interval::Weekly), System::ObjectExt::Box<Interval>(view->get_ProgressLines()->get_RecurringInterval()->get_Interval())); | |
System::Console::WriteLine(System::String(u"ProgressLines.RecurringInterval.WeeklyDays.Count") + view->get_ProgressLines()->get_RecurringInterval()->get_WeeklyDays()->get_Count()); | |
System::Console::WriteLine(System::String(u"Recurring Interval.WeeklyDays: ") + view->get_ProgressLines()->get_RecurringInterval()->get_WeeklyDays()); | |
System::Console::WriteLine(System::String(u"Recurring Interval.DayType.Saturday: ") + view->get_ProgressLines()->get_RecurringInterval()->get_WeeklyDays()); | |
System::Console::WriteLine(System::String(u"Recurring Interval.DayType.Sunday: ") + view->get_ProgressLines()->get_RecurringInterval()->get_WeeklyDays()); | |
System::Console::WriteLine(System::String(u"ProgressLines.ShowDate: ") + view->get_ProgressLines()->get_ShowDate()); | |
System::Console::WriteLine(System::String(u"ProgressLines.ProgressPointShape: ") + System::ObjectExt::ToString(view->get_ProgressLines()->get_ProgressPointShape())); | |
System::Console::WriteLine(System::String(u"ProgressLines.ProgressPointColor: ") + view->get_ProgressLines()->get_ProgressPointColor()); | |
System::Console::WriteLine(System::String(u"ProgressLines.LineColor: ") + System::Drawing::Color::get_Red(), System::ObjectExt::Box<System::Drawing::Color>(view->get_ProgressLines()->get_LineColor())); | |
System::Console::WriteLine(System::String(u"ProgressLines.LinePattern: ") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::LinePattern::Solid), System::ObjectExt::Box<LinePattern>(view->get_ProgressLines()->get_LinePattern())); | |
System::Console::WriteLine(System::String(u"ProgressLines.OtherProgressPointShape: ") + System::ObjectExt::ToString(view->get_ProgressLines()->get_OtherProgressPointShape())); | |
System::Console::WriteLine(System::String(u"ProgressLines.OtherProgressPointColor: ") + System::ObjectExt::ToString(view->get_ProgressLines()->get_OtherProgressPointColor())); | |
System::Console::WriteLine(System::String(u"ProgressLines.OtherLineColor: ") + view->get_ProgressLines()->get_OtherLineColor()); | |
System::Console::WriteLine(u"\n************************ BOTTOM TIMESCALE IFORMATION ******************"); | |
System::Console::WriteLine(System::String(u"BottomTimescaleTier.Count:") + view->get_BottomTimescaleTier()->get_Count()); | |
System::Console::WriteLine(System::String(u"BottomTimescaleTier.Unit:") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::TimescaleUnit::Days), System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_BottomTimescaleTier()->get_Unit()))); | |
System::Console::WriteLine(System::String(u"BottomTimescaleTier.UsesFiscalYear: ") + view->get_BottomTimescaleTier()->get_UsesFiscalYear()); | |
System::Console::WriteLine(System::String(u"BottomTimescaleTier.Alignment: ") + System::ObjectExt::ToString(System::Drawing::StringAlignment::Center), System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_BottomTimescaleTier()->get_Alignment()))); | |
System::Console::WriteLine(System::String(u"BottomTimescaleTier.ShowTicks: ") + System::Convert::ToString(view->get_BottomTimescaleTier()->get_ShowTicks())); | |
System::Console::WriteLine(System::String(u"BottomTimescaleTier.Label:") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::DateLabel::DayDi), System::ObjectExt::Box<DateLabel>(view->get_BottomTimescaleTier()->get_Label())); | |
System::Console::WriteLine(u"\n************************ MIDDLE TIMESCALE IFORMATION ******************"); | |
System::Console::WriteLine(System::String(u"MiddleTimescaleTier.Count:") + view->get_MiddleTimescaleTier()->get_Count()); | |
System::Console::WriteLine(System::String(u"MiddleTimescaleTier.Unit:") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::TimescaleUnit::Days), System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_MiddleTimescaleTier()->get_Unit()))); | |
System::Console::WriteLine(System::String(u"MiddleTimescaleTier.UsesFiscalYear: ") + view->get_MiddleTimescaleTier()->get_UsesFiscalYear()); | |
System::Console::WriteLine(System::String(u"MiddleTimescaleTier.Alignment: ") + System::ObjectExt::ToString(System::Drawing::StringAlignment::Center), System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_MiddleTimescaleTier()->get_Alignment()))); | |
System::Console::WriteLine(System::String(u"MiddleTimescaleTier.ShowTicks: ") + System::Convert::ToString(view->get_MiddleTimescaleTier()->get_ShowTicks())); | |
System::Console::WriteLine(System::String(u"MiddleTimescaleTier.Label:") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::DateLabel::DayDi), System::ObjectExt::Box<DateLabel>(view->get_MiddleTimescaleTier()->get_Label())); | |
System::Console::WriteLine(u"\n************************ TOP TIMESCALE IFORMATION ******************"); | |
System::Console::WriteLine(System::String(u"TopTimescaleTier.Unit:") + System::ObjectExt::ToString(Aspose::Tasks::Visualization::TimescaleUnit::Days), System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_TopTimescaleTier()->get_Unit()))); | |
System::Console::WriteLine(System::String(u"TopTimescaleTier.UsesFiscalYear: ") + view->get_TopTimescaleTier()->get_UsesFiscalYear()); | |
System::Console::WriteLine(System::String(u"TopTimescaleTier.Alignment: ") + System::ObjectExt::ToString(System::Drawing::StringAlignment::Center), System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_TopTimescaleTier()->get_Alignment()))); | |
System::Console::WriteLine(System::String(u"TopTimescaleTier.ShowTicks: ") + System::Convert::ToString(view->get_TopTimescaleTier()->get_ShowTicks())); | |
System::Console::WriteLine(u"TopTimescaleTier.Label: ", System::ObjectExt::Box<System::String>(System::ObjectExt::ToString(view->get_TopTimescaleTier()->get_Label()))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Init Gantt Chart View | |
System::SharedPtr<GanttChartView> view = System::MakeObject<GanttChartView>(); | |
// Set Time Scale count | |
view->get_BottomTimescaleTier()->set_Count(2); | |
view->get_BottomTimescaleTier()->set_ShowTicks(false); | |
view->get_MiddleTimescaleTier()->set_Count(2); | |
view->get_MiddleTimescaleTier()->set_ShowTicks(false); | |
// Add Gantt Chart View to project | |
project->get_Views()->Add(view); | |
// Add some test data to project | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> task2 = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
task1->Set<Duration>(Tsk::Duration(), task1->get_ParentProject()->GetDuration(24, Aspose::Tasks::TimeUnitType::Hour)); | |
task2->Set<Duration>(Tsk::Duration(), task1->get_ParentProject()->GetDuration(40, Aspose::Tasks::TimeUnitType::Hour)); | |
project->Save(dataDir + u"SetTimeScaleCount_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project5.mpp"); | |
// Create a new project task | |
auto ganttChartView = System::DynamicCast_noexcept<Aspose::Tasks::GanttChartView>(project->get_Views()->ToList()->idx_get(0)); | |
if (ganttChartView != nullptr) | |
{ | |
ganttChartView->get_TableTextStyles()->Clear(); | |
ganttChartView->get_TableTextStyles()->Add([&]{ auto tmp_0 = System::MakeObject<TableTextStyle>(1); tmp_0->set_Color(System::Drawing::Color::get_Red()); tmp_0->set_Field(Aspose::Tasks::Field::TaskName); return tmp_0; }()); | |
ganttChartView->get_TableTextStyles()->Add([&]{ auto tmp_1 = System::MakeObject<TableTextStyle>(1); tmp_1->set_Color(System::Drawing::Color::get_Gray()); tmp_1->set_Field(Aspose::Tasks::Field::TaskDurationText); return tmp_1; }()); | |
ganttChartView->get_TableTextStyles()->Add([&]{ auto tmp_2 = System::MakeObject<TableTextStyle>(2); tmp_2->set_Color(System::Drawing::Color::get_Blue()); tmp_2->set_FontStyle(System::Drawing::FontStyle::Bold | System::Drawing::FontStyle::Italic | System::Drawing::FontStyle::Underline); return tmp_2; }()); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
// Assign resource "1 TRG: Trade Group" to the "TASK 1" by creating a ResourceAssignment object. | |
System::SharedPtr<Resource> resource = project->get_Resources()->GetById(1); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(1); | |
System::SharedPtr<ResourceAssignment> assignment = project->get_ResourceAssignments()->Add(task, resource); | |
// Create custom attribute definition with lookup. | |
System::SharedPtr<ExtendedAttributeDefinition> resCostAttr = ExtendedAttributeDefinition::CreateLookupResourceDefinition(Aspose::Tasks::CustomFieldType::Cost, Aspose::Tasks::ExtendedAttributeResource::Cost5, u"My lookup resource cost"); | |
project->get_ExtendedAttributes()->Add(resCostAttr); | |
auto value1 = [&]{ auto tmp_0 = System::MakeObject<Value>(); tmp_0->set_NumericValue(1500); tmp_0->set_Description(u"Val 1"); tmp_0->set_Id(1); tmp_0->set_Val(u"1500"); return tmp_0; }(); | |
resCostAttr->AddLookupValue(value1); | |
resCostAttr->AddLookupValue([&]{ auto tmp_1 = System::MakeObject<Value>(); tmp_1->set_NumericValue(2500); tmp_1->set_Description(u"Val 2"); tmp_1->set_Id(2); return tmp_1; }()); | |
// This value can be seen in "Resource usage" view of MS Project. | |
auto attributeValue = resCostAttr->CreateExtendedAttribute(value1); | |
assignment->get_ExtendedAttributes()->Add(attributeValue); | |
// Create custom attribute definition with lookup. | |
System::SharedPtr<ExtendedAttributeDefinition> taskCostAttr = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Cost4, u"My lookup task cost"); | |
project->get_ExtendedAttributes()->Add(taskCostAttr); | |
auto taskLookupValue1 = [&]{ auto tmp_2 = System::MakeObject<Value>(); tmp_2->set_NumericValue(18); tmp_2->set_Description(u"Task val 1"); tmp_2->set_Id(3); tmp_2->set_Val(u"18"); return tmp_2; }(); | |
taskCostAttr->AddLookupValue(taskLookupValue1); | |
resCostAttr->AddLookupValue([&]{ auto tmp_3 = System::MakeObject<Value>(); tmp_3->set_NumericValue(30); tmp_3->set_Description(u"Task val 2"); tmp_3->set_Id(4); return tmp_3; }()); | |
// This value can be seen in "Task usage" view of MS Project. | |
assignment->get_ExtendedAttributes()->Add(taskCostAttr->CreateExtendedAttribute(taskLookupValue1)); | |
project->Save(dataDir + u"AddExtendedAttributesToRAWithLookUp_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
// Add new task and resource | |
System::SharedPtr<Task> task1 = project->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc"); | |
// Assign the resource to the desired task | |
System::SharedPtr<ResourceAssignment> assignment = project->get_ResourceAssignments()->Add(task1, rsc1); | |
// Custom attributes which is visible in "Resource Usage" view can be created with ExtendedAttributeDefinition.CreateResourceDefinition method. | |
{ | |
System::SharedPtr<ExtendedAttributeDefinition> resCostAttributeDefinition = ExtendedAttributeDefinition::CreateResourceDefinition(Aspose::Tasks::CustomFieldType::Cost, Aspose::Tasks::ExtendedAttributeResource::Cost5, u"My cost"); | |
project->get_ExtendedAttributes()->Add(resCostAttributeDefinition); | |
auto value = resCostAttributeDefinition->CreateExtendedAttribute(); | |
// The type of the attribute is "Cost", so we need to use "NumericValue" property. | |
value->set_NumericValue(1500); | |
assignment->get_ExtendedAttributes()->Add(value); | |
} | |
// Custom attributes which is visible in "Task Usage" view can be created with ExtendedAttributeDefinition.CreateTaskDefinition method | |
{ | |
System::SharedPtr<ExtendedAttributeDefinition> taskCostAttributeDefinition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Cost, Aspose::Tasks::ExtendedAttributeTask::Cost5, u"My cost for task"); | |
project->get_ExtendedAttributes()->Add(taskCostAttributeDefinition); | |
auto value = taskCostAttributeDefinition->CreateExtendedAttribute(); | |
// The type of the attribute is "Cost", so we need to use "NumericValue" property. | |
value->set_NumericValue(2300); | |
assignment->get_ExtendedAttributes()->Add(value); | |
} | |
project->Save(dataDir + u"AddExtendedAttributesToResourceAssignment_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
// Add new task and resource | |
System::SharedPtr<Task> task1 = project1->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<Resource> rsc1 = project1->get_Resources()->Add(u"Rsc"); | |
// Assign the resource desired task | |
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task1, rsc1); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentTimephasedData.mpp"); | |
// Get the first task of the Project | |
System::SharedPtr<Task> task = project1->get_RootTask()->get_Children()->GetById(1); | |
// Get the First Resource Assignment of the Project | |
System::SharedPtr<ResourceAssignment> firstRA = project1->get_ResourceAssignments()->ToList()->idx_get(0); | |
// Flat contour is default contour | |
System::Console::WriteLine(u"Flat contour"); | |
auto tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::Turtle); | |
System::Console::WriteLine(u"Turtle contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::BackLoaded); | |
System::Console::WriteLine(u"BackLoaded contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::FrontLoaded); | |
System::Console::WriteLine(u"FrontLoaded contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::Bell); | |
System::Console::WriteLine(u"Bell contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::EarlyPeak); | |
System::Console::WriteLine(u"EarlyPeak contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::LatePeak); | |
System::Console::WriteLine(u"LatePeak contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} | |
// Change contour | |
firstRA->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::DoublePeak); | |
System::Console::WriteLine(u"DoublePeak contour"); | |
tdList = task->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())); | |
{ | |
auto td_enumerator = (tdList)->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(td->get_Start().ToShortDateString() + u" " + td->get_Value()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"GetGeneralResourceAssignmentProperties.mpp"); | |
// Print general resource assignment properties | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(ra->Get<int32_t>(Asn::Uid())); | |
System::Console::WriteLine(ra->Get<System::DateTime>(Asn::Start()).ToShortDateString()); | |
System::Console::WriteLine(ra->Get<System::DateTime>(Asn::Finish()).ToShortDateString()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentBudget.mpp"); | |
// Print assignment budget cost and budget work | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(ra->Get<System::Decimal>(Asn::BudgetCost())); | |
System::Console::WriteLine(System::ObjectExt::ToString(ra->Get<Duration>(Asn::BudgetWork()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentCosts.mpp"); | |
// Print resource assignment costs | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(ra->Get<System::Decimal>(Asn::Cost())); | |
System::Console::WriteLine(ra->Get<double>(Asn::ACWP())); | |
System::Console::WriteLine(ra->Get<double>(Asn::BCWP())); | |
System::Console::WriteLine(ra->Get<double>(Asn::BCWS())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentOvertimes.mpp"); | |
// Print assignment overtimes | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(ra->Get<System::Decimal>(Asn::OvertimeCost())); | |
System::Console::WriteLine(System::ObjectExt::ToString(ra->Get<Duration>(Asn::OvertimeWork()))); | |
System::Console::WriteLine(ra->Get<System::Decimal>(Asn::RemainingCost())); | |
System::Console::WriteLine(ra->Get<System::Decimal>(Asn::RemainingOvertimeCost())); | |
System::Console::WriteLine(System::ObjectExt::ToString(ra->Get<Duration>(Asn::RemainingOvertimeWork()))); | |
System::Console::WriteLine(System::ObjectExt::ToString(ra->Get<Duration>(Asn::RemainingOvertimeWork()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentPercentWorkComplete.mpp"); | |
// Print assignment percent completion | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::Convert::ToString(ra->Get<int32_t>(Asn::PercentWorkComplete()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentStopResumeDates.mpp"); | |
// Print resource assignment's stop and resume dates | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
if (ra->Get<System::DateTime>(Asn::Stop()).ToShortDateString() == u"1/1/2000") | |
{ | |
System::Console::WriteLine(u"NA"); | |
} | |
else | |
{ | |
System::Console::WriteLine(ra->Get<System::DateTime>(Asn::Stop()).ToShortDateString()); | |
} | |
if (ra->Get<System::DateTime>(Asn::Resume()).ToShortDateString() == u"1/1/2000") | |
{ | |
System::Console::WriteLine(u"NA"); | |
} | |
else | |
{ | |
System::Console::WriteLine(ra->Get<System::DateTime>(Asn::Resume()).ToShortDateString()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceAssignmentVariance.mpp"); | |
// Print assignment variances | |
{ | |
auto ra_enumerator = (project1->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::ObjectExt::Box<Duration>(ra->Get<Duration>(Asn::WorkVariance()))); | |
System::Console::WriteLine(ra->Get<double>(Asn::CostVariance())); | |
System::Console::WriteLine(System::ObjectExt::Box<Duration>(ra->Get<Duration>(Asn::StartVariance()))); | |
System::Console::WriteLine(System::ObjectExt::Box<Duration>(ra->Get<Duration>(Asn::FinishVariance()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"New project 2013.mpp"); | |
auto task = project->get_RootTask()->get_Children()->Add(u"t1"); | |
auto materialResource = project->get_Resources()->Add(u"materialResource"); | |
materialResource->Set<ResourceType>(Rsc::Type(), Aspose::Tasks::ResourceType::Material); | |
auto nonMaterialResource = project->get_Resources()->Add(u"nonMaterialResource"); | |
nonMaterialResource->Set<ResourceType>(Rsc::Type(), Aspose::Tasks::ResourceType::Work); | |
auto materialResourceAssignment = project->get_ResourceAssignments()->Add(task, materialResource); | |
materialResourceAssignment->Set<RateScaleType>(Asn::RateScale(), Aspose::Tasks::RateScaleType::Week); | |
materialResourceAssignment->Set<int32_t>(Asn::Uid(), 1); | |
auto nonMaterialResourceAssignment = project->get_ResourceAssignments()->Add(task, nonMaterialResource); | |
nonMaterialResourceAssignment->Set<RateScaleType>(Asn::RateScale(), Aspose::Tasks::RateScaleType::Week); | |
nonMaterialResourceAssignment->Set<int32_t>(Asn::Uid(), 2); | |
project->Save(dataDir + u"output.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
auto resavedProject = System::MakeObject<Project>(dataDir + u"output.mpp"); | |
auto resavedMaterialResourceAssignment = resavedProject->get_ResourceAssignments()->GetByUid(1); | |
System::Console::WriteLine(System::ObjectExt::Box<RateScaleType>(resavedMaterialResourceAssignment->Get<RateScaleType>(Asn::RateScale()))); | |
// only material resource assignments can have non-zero rate scale value. | |
auto resavedNonMaterialResourceAssignment = resavedProject->get_ResourceAssignments()->GetByUid(2); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create empty project | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
// Add new task and resource | |
System::SharedPtr<Task> task1 = project1->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<Resource> rsc1 = project1->get_Resources()->Add(u"Rsc"); | |
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(10)); | |
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(15)); | |
// Assign the resource desired task | |
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task1, rsc1); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance and access first task and resource | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"UpdateResourceAssignment.mpp"); | |
System::SharedPtr<Task> task = project1->get_RootTask()->get_Children()->GetById(1); | |
System::SharedPtr<Resource> rsc = project1->get_Resources()->GetById(1); | |
// Create resource assignment | |
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task, rsc); | |
assn->Set<System::String>(Asn::Notes(), u"Newly added assignment"); | |
// Save project as MPP | |
project1->Save(dataDir + u"UpdateResourceAssignment_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Add resources | |
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc"); | |
// Save project as XML | |
project->Save(dataDir + u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceCalendar.mpp"); | |
// Display base calendar name for all resources | |
{ | |
auto res_enumerator = (project1->get_Resources())->GetEnumerator(); | |
decltype(res_enumerator->get_Current()) res; | |
while (res_enumerator->MoveNext() && (res = res_enumerator->get_Current(), true)) | |
{ | |
if (res->Get<System::String>(Rsc::Name()) != nullptr) | |
{ | |
System::Console::WriteLine(res->Get<System::SharedPtr<Calendar>>(Rsc::Calendar())->get_BaseCalendar()->get_Name()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceCosts.mpp"); | |
// Display all resources costs | |
{ | |
auto res_enumerator = (project1->get_Resources())->GetEnumerator(); | |
decltype(res_enumerator->get_Current()) res; | |
while (res_enumerator->MoveNext() && (res = res_enumerator->get_Current(), true)) | |
{ | |
if (res->Get<System::String>(Rsc::Name()) != nullptr) | |
{ | |
System::Console::WriteLine(res->Get<System::Decimal>(Rsc::Cost())); | |
System::Console::WriteLine(res->Get<double>(Rsc::ACWP())); | |
System::Console::WriteLine(res->Get<double>(Rsc::BCWS())); | |
System::Console::WriteLine(res->Get<double>(Rsc::BCWP())); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceOvertime.mpp"); | |
// Display overtime related parameters for all resources | |
{ | |
auto res_enumerator = (project1->get_Resources())->GetEnumerator(); | |
decltype(res_enumerator->get_Current()) res; | |
while (res_enumerator->MoveNext() && (res = res_enumerator->get_Current(), true)) | |
{ | |
if (res->Get<System::String>(Rsc::Name()) != nullptr) | |
{ | |
System::Console::WriteLine(res->Get<System::Decimal>(Rsc::OvertimeCost())); | |
System::Console::WriteLine(System::ObjectExt::ToString(res->Get<Duration>(Rsc::OvertimeWork()))); | |
System::Console::WriteLine(System::ObjectExt::ToString(res->Get<RateFormatType>(Rsc::OvertimeRateFormat()))); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourcePercentWorkComplete.mpp"); | |
// Display work percentage completion for all resources | |
{ | |
auto res_enumerator = (project1->get_Resources())->GetEnumerator(); | |
decltype(res_enumerator->get_Current()) res; | |
while (res_enumerator->MoveNext() && (res = res_enumerator->get_Current(), true)) | |
{ | |
if (res->Get<System::String>(Rsc::Name()) != nullptr) | |
{ | |
System::Console::WriteLine(res->Get<int32_t>(Rsc::PercentWorkComplete())); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read the input Project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WorkVariance.mpp"); | |
Key<System::SharedPtr<Resource>, AsnKey> asnRsc = Asn::Resource(); | |
{ | |
auto ra_enumerator = (project->get_ResourceAssignments())->GetEnumerator(); | |
decltype(ra_enumerator->get_Current()) ra; | |
while (ra_enumerator->MoveNext() && (ra = ra_enumerator->get_Current(), true)) | |
{ | |
System::SharedPtr<Resource> rsc; | |
// C# preprocessor directive: #if !__cplusplus | |
// C# preprocessor directive: #endif | |
rsc = ra->Get(asnRsc); | |
double d = rsc->Get<double>(Rsc::WorkVariance()); | |
System::Console::WriteLine(d); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceTimephasedData.mpp"); | |
// Get the Resource by its ID | |
System::SharedPtr<Resource> resource = project1->get_Resources()->GetByUid(1); | |
// Print Timephased data of ResourceWork | |
System::Console::WriteLine(u"Timephased data of ResourceWork"); | |
{ | |
auto td_enumerator = (resource->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())))->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::Write(System::String(u"Start: ") + td->get_Start().ToShortDateString()); | |
System::Console::Write(System::String(u" Work: ") + td->get_Value() + System::Environment::get_NewLine()); | |
} | |
} | |
// Print Timephased data of ResourceCost | |
System::Console::WriteLine(u"Timephased data of ResourceCost"); | |
{ | |
auto td_enumerator = (resource->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate()), Aspose::Tasks::TimephasedDataType::ResourceCost))->GetEnumerator(); | |
decltype(td_enumerator->get_Current()) td; | |
while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true)) | |
{ | |
System::Console::Write(System::String(u"Start: ") + td->get_Start().ToShortDateString()); | |
System::Console::Write(System::String(u" Cost: ") + td->get_Value() + System::Environment::get_NewLine()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceSheetView.mpp"); | |
// Set the Presentation Format to Resource Sheet | |
PresentationFormat format = Aspose::Tasks::Visualization::PresentationFormat::ResourceSheet; | |
// Define rendering options | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_PresentationFormat(format); | |
project1->Save(dataDir + u"ResourceSheetView_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceUsageView.mpp"); | |
// Define the SaveOptions with required TimeScale settings as Days | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::Days); | |
// Set the Presentation format to ResourceUsage | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage); | |
// Save the Project | |
System::String outputFile = u"result_ResourceUsageView_days_out.pdf"; | |
project1->Save(dataDir + outputFile, options); | |
// Set the Tiemscale settings to ThirdsOfMonths and save the Project | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
outputFile = u"result_ResourceUsageView_thirdsOfMonths_out.pdf"; | |
project1->Save(dataDir + outputFile, options); | |
// Set the Timescale settings to Months and save the Project | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); | |
outputFile = u"result_ResourceUsageView_months_out.pdf"; | |
project1->Save(dataDir + outputFile, options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void ResourcePrefixForNestedResources::Run() | |
{ | |
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
{ | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"Project1.mpp", System::IO::FileMode::Open); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_1({ fs}); | |
// ------------------------------------------ | |
try | |
{ | |
System::SharedPtr<Project> project = System::MakeObject<Project>(fs); | |
System::SharedPtr<HtmlSaveOptions> options = GetSaveOptions(1); | |
{ | |
System::SharedPtr<System::IO::FileStream> stream = System::MakeObject<System::IO::FileStream>(dataDir + u"document.html", System::IO::FileMode::Create); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ stream}); | |
// ------------------------------------------ | |
try | |
{ | |
project->Save(stream, options); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} | |
} | |
catch(...) | |
{ | |
__dispose_guard_1.SetCurrentException(std::current_exception()); | |
} | |
} | |
} | |
#if defined(__MSVC__) | |
#pragma warning( pop ) | |
#elif defined(__GNUC__) | |
#pragma GCC diagnostic pop | |
#endif | |
void ResourcePrefixForNestedResources::CssSaving(System::SharedPtr<CssSavingArgs> args) | |
{ | |
System::SharedPtr<System::IO::FileStream> stream = System::MakeObject<System::IO::FileStream>(dataDir() + u"css/" + args->get_FileName(), System::IO::FileMode::Create); | |
args->set_Stream(stream); | |
args->set_KeepStreamOpen(false); | |
args->set_Uri(dataDir() + u"css/" + args->get_FileName()); | |
} | |
void ResourcePrefixForNestedResources::FontSaving(System::SharedPtr<FontSavingArgs> args) | |
{ | |
System::SharedPtr<System::IO::FileStream> stream = System::MakeObject<System::IO::FileStream>(dataDir() + u"fonts/" + args->get_FileName(), System::IO::FileMode::Create); | |
args->set_Stream(stream); | |
args->set_KeepStreamOpen(false); | |
args->set_Uri(dataDir() + u"fonts/" + args->get_FileName()); | |
} | |
void ResourcePrefixForNestedResources::ImageSaving(System::SharedPtr<ImageSavingArgs> args) | |
{ | |
if (args->get_FileName().EndsWith(u"png")) | |
{ | |
System::SharedPtr<System::IO::FileStream> stream1 = System::MakeObject<System::IO::FileStream>(dataDir() + u"resources/nestedResources/" + args->get_FileName(), System::IO::FileMode::Create); | |
args->set_Stream(stream1); | |
args->set_KeepStreamOpen(false); | |
args->set_Uri(dataDir() + u"resources/" + args->get_FileName()); | |
//args->set_NestedUri(dataDir() + u"nestedResources/" + args->get_FileName()); | |
} | |
else | |
{ | |
System::SharedPtr<System::IO::FileStream> stream2 = System::MakeObject<System::IO::FileStream>(dataDir() + u"resources/" + args->get_FileName(), System::IO::FileMode::Create); | |
args->set_Stream(stream2); | |
args->set_KeepStreamOpen(false); | |
args->set_Uri(dataDir() + u"resources/" + args->get_FileName()); | |
} | |
} | |
System::SharedPtr<Aspose::Tasks::Saving::HtmlSaveOptions> ResourcePrefixForNestedResources::GetSaveOptions(int32_t pageNumber) | |
{ | |
auto saveOptions = [&]{ auto tmp_0 = System::MakeObject<HtmlSaveOptions>(); tmp_0->set_Pages(System::MakeObject<System::Collections::Generic::List<int32_t>>()); tmp_0->set_IncludeProjectNameInPageHeader(false); tmp_0->set_IncludeProjectNameInTitle(false); tmp_0->set_PageSize(Aspose::Tasks::Visualization::PageSize::A3); tmp_0->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); tmp_0->set_ReduceFooterGap(true); tmp_0->set_FontFaceTypes(Aspose::Tasks::FontFaceType::Ttf); tmp_0->set_ExportCss(Aspose::Tasks::ResourceExportType::AsFile); tmp_0->set_ExportFonts(Aspose::Tasks::ResourceExportType::AsFile); tmp_0->set_ExportImages(Aspose::Tasks::ResourceExportType::AsFile); return tmp_0; }(); | |
System::SharedPtr<ResourcePrefixForNestedResources> program = System::MakeObject<ResourcePrefixForNestedResources>(); | |
saveOptions->set_FontSavingCallback(program); | |
saveOptions->set_CssSavingCallback(program); | |
saveOptions->set_ImageSavingCallback(program); | |
saveOptions->get_Pages()->Clear(); | |
saveOptions->get_Pages()->Add(pageNumber); | |
if (!System::IO::Directory::Exists(dataDir() + u"fonts")) | |
{ | |
System::IO::Directory::CreateDirectory_(dataDir() + u"fonts"); | |
} | |
if (!System::IO::Directory::Exists(dataDir() + u"resources")) | |
{ | |
System::IO::Directory::CreateDirectory_(dataDir() + u"resources"); | |
} | |
if (!System::IO::Directory::Exists(dataDir() + u"nestedResources")) | |
{ | |
System::IO::Directory::CreateDirectory_(dataDir() + u"resources/nestedResources"); | |
} | |
if (!System::IO::Directory::Exists(dataDir() + u"css")) | |
{ | |
System::IO::Directory::CreateDirectory_(dataDir() + u"css"); | |
} | |
return saveOptions; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ResourcePrefixForNestedResources : public Aspose::Tasks::ICssSavingCallback, public Aspose::Tasks::IFontSavingCallback, public Aspose::Tasks::IImageSavingCallback | |
{ | |
typedef ResourcePrefixForNestedResources ThisType; | |
typedef Aspose::Tasks::ICssSavingCallback BaseType; | |
typedef Aspose::Tasks::IFontSavingCallback BaseType1; | |
typedef Aspose::Tasks::IImageSavingCallback BaseType2; | |
typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2> ThisTypeBaseTypesInfo; | |
RTTI_INFO_DECL(); | |
public: | |
static System::String dataDir(); | |
static void Run(); | |
void CssSaving(System::SharedPtr<CssSavingArgs> args); | |
void FontSaving(System::SharedPtr<FontSavingArgs> args); | |
void ImageSaving(System::SharedPtr<ImageSavingArgs> args); | |
private: | |
static System::SharedPtr<Aspose::Tasks::Saving::HtmlSaveOptions> GetSaveOptions(int32_t pageNumber); | |
}; | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Add resources | |
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc"); | |
// Set resource properties, Resource properties are represented by static class Rsc | |
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(15)); | |
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(20)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance and add resource | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<Resource> res = project->get_Resources()->Add(u"Resource1"); | |
// Add standard calendar and assign to resource | |
System::SharedPtr<Aspose::Tasks::Calendar> cal = project->get_Calendars()->Add(u"Resource1"); | |
res->Set<System::SharedPtr<Calendar>>(Rsc::Calendar(), cal); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceExtendedAttributes.mpp"); | |
// Define extended attribute | |
System::SharedPtr<ExtendedAttributeDefinition> myNumber1 = project1->get_ExtendedAttributes()->GetById((int32_t)Aspose::Tasks::ExtendedAttributeTask::Number1); | |
if (myNumber1 == nullptr) | |
{ | |
myNumber1 = ExtendedAttributeDefinition::CreateResourceDefinition(Aspose::Tasks::ExtendedAttributeResource::Number1, u"Age"); | |
project1->get_ExtendedAttributes()->Add(myNumber1); | |
} | |
// Create extended attribute and set its value | |
System::SharedPtr<ExtendedAttribute> number1Resource = myNumber1->CreateExtendedAttribute(); | |
number1Resource->set_NumericValue(System::Decimal("30.5345")); | |
// Add a new resource and its extended attribute | |
System::SharedPtr<Resource> rsc = project1->get_Resources()->Add(u"R1"); | |
rsc->get_ExtendedAttributes()->Add(number1Resource); | |
// Save project as MPP | |
project1->Save(dataDir + u"ResourceExtendedAttributes_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"UpdateResourceData.mpp"); | |
// Add resource and set some properties | |
System::SharedPtr<Resource> rsc1 = project1->get_Resources()->Add(u"Rsc"); | |
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(30)); | |
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(45)); | |
rsc1->Set<System::String>(Rsc::Group(), u"Workgroup1"); | |
// Save the Project | |
project1->Save(dataDir + u"UpdateResourceData_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
// Creating TaskBaseline: | |
System::SharedPtr<Task> task = project1->get_RootTask()->get_Children()->Add(u"Task"); | |
// Set baseline for specified tasks and entire project | |
project1->SetBaseline(Aspose::Tasks::BaselineType::Baseline, System::MakeArray<System::SharedPtr<Aspose::Tasks::Task>>({task})); | |
project1->SetBaseline(Aspose::Tasks::BaselineType::Baseline); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Creating TaskBaseline | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
project->SetBaseline(Aspose::Tasks::BaselineType::Baseline); | |
// Display task baseline duration | |
System::SharedPtr<TaskBaseline> baseline = task->get_Baselines()->ToList()->idx_get(0); | |
System::Console::WriteLine(u"Baseline duration is 1 day: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(baseline->get_Duration()), u"1 day"))); | |
System::Console::WriteLine(u"BaselineStart is same as Task Start: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(baseline->get_Start(), task->Get<System::DateTime>(Tsk::Start())))); | |
System::Console::WriteLine(u"BaselineFinish is same as Task Finish: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(baseline->get_Finish(), task->Get<System::DateTime>(Tsk::Finish())))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Creating TaskBaseline | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
project->SetBaseline(Aspose::Tasks::BaselineType::Baseline); | |
// Display task baseline schedule | |
System::SharedPtr<TaskBaseline> baseline = task->get_Baselines()->ToList()->idx_get(0); | |
System::Console::WriteLine(u"Baseline duration is 1 day: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(baseline->get_Duration()), u"1 day"))); | |
System::Console::WriteLine(u"BaselineStart is same as Task Start: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(baseline->get_Start(), task->Get<System::DateTime>(Tsk::Start())))); | |
System::Console::WriteLine(u"BaselineFinish is same as Task Finish: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(baseline->get_Finish(), task->Get<System::DateTime>(Tsk::Finish())))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project and add tasks | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(); | |
System::SharedPtr<Task> pred = project1->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> succ = project1->get_RootTask()->get_Children()->Add(u"Task 2"); | |
// Links tasks | |
System::SharedPtr<TaskLink> link = project1->get_TaskLinks()->Add(pred, succ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"GetCrossProjectTaskLinks.mpp"); | |
// Check cross project task links | |
{ | |
auto tsklnk_enumerator = (project1->get_TaskLinks())->GetEnumerator(); | |
decltype(tsklnk_enumerator->get_Current()) tsklnk; | |
while (tsklnk_enumerator->MoveNext() && (tsklnk = tsklnk_enumerator->get_Current(), true)) | |
{ | |
if (tsklnk->get_IsCrossProject()) | |
{ | |
System::Console::WriteLine(tsklnk->get_CrossProjectName()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"GetPredecessorSuccessorTasks.mpp"); | |
// Display names of predecessor and successor tasks | |
{ | |
auto tsklnk_enumerator = (project1->get_TaskLinks())->GetEnumerator(); | |
decltype(tsklnk_enumerator->get_Current()) tsklnk; | |
while (tsklnk_enumerator->MoveNext() && (tsklnk = tsklnk_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Predecessor ") + tsklnk->get_PredTask()->Get(Tsk::Name())); | |
System::Console::WriteLine(System::String(u"Predecessor ") + tsklnk->get_SuccTask()->Get(Tsk::Name())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"GetTaskLinkType.mpp"); | |
// Display task link types | |
auto allinks = project1->get_TaskLinks(); | |
{ | |
auto tsklnk_enumerator = (allinks)->GetEnumerator(); | |
decltype(tsklnk_enumerator->get_Current()) tsklnk; | |
while (tsklnk_enumerator->MoveNext() && (tsklnk = tsklnk_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::ObjectExt::ToString(tsklnk->get_LinkType())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance and access task | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"External.mpp"); | |
System::SharedPtr<Task> externalTask = project1->get_RootTask()->get_Children()->GetByUid(1); | |
// Show ID of the task in the external project | |
System::Console::WriteLine(System::Convert::ToString(externalTask->Get<int32_t>(Tsk::Id()))); | |
// Show ID of the task in the original project | |
System::Console::WriteLine(System::Convert::ToString(externalTask->Get<int32_t>(Tsk::ExternalId()))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project and add tasks | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<Task> pred = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> succ = project->get_RootTask()->get_Children()->Add(u"Task 2"); | |
// Link tasks with link type set to Start to Start | |
System::SharedPtr<TaskLink> link = project->get_TaskLinks()->Add(pred, succ); | |
link->set_LinkType(Aspose::Tasks::TaskLinkType::StartToStart); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create new project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
// C# preprocessor directive: #region Adding Plain Text Attribute | |
//Create an Extended Attribute Definition of Text1 type | |
auto taskExtendedAttributeText1Definition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::CustomFieldType::Text, Aspose::Tasks::ExtendedAttributeTask::Text1, u"Task City Name"); | |
//Add it to the project's Extended Attributes collection | |
project->get_ExtendedAttributes()->Add(taskExtendedAttributeText1Definition); | |
//Add a task to the project | |
auto task = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
//Create an Extended Attribute from the Attribute Definition | |
auto taskExtendedAttributeText1 = taskExtendedAttributeText1Definition->CreateExtendedAttribute(); | |
//Assign a value to the generated Extended Attribute. The type of the attribute is "Text", the "TextValue" property should be used. | |
taskExtendedAttributeText1->set_TextValue(u"London"); | |
//Add the Extended Attribute to task | |
task->get_ExtendedAttributes()->Add(taskExtendedAttributeText1); | |
project->Save(dataDir + u"PlainTextExtendedAttribute_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
// C# preprocessor directive: #endregion | |
// C# preprocessor directive: #region Adding Text Attribute with Lookup option | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
//Create an Extended Attribute Definition of Text2 type | |
auto taskExtendedAttributeText2Definition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::CustomFieldType::Text, Aspose::Tasks::ExtendedAttributeTask::Text2, u"Task Towns Name"); | |
//Add lookup values for the extended attribute definition | |
taskExtendedAttributeText2Definition->AddLookupValue([&]{ auto tmp_0 = System::MakeObject<Value>(); tmp_0->set_Id(1); tmp_0->set_StringValue(u"Town1"); tmp_0->set_Description(u"This is Town1"); return tmp_0; }()); | |
taskExtendedAttributeText2Definition->AddLookupValue([&]{ auto tmp_1 = System::MakeObject<Value>(); tmp_1->set_Id(2); tmp_1->set_StringValue(u"Town2"); tmp_1->set_Description(u"This is Town2"); return tmp_1; }()); | |
//Add it to the porject's Extended Attributes collection | |
project1->get_ExtendedAttributes()->Add(taskExtendedAttributeText2Definition); | |
//Add a task to the project | |
auto task2 = project1->get_RootTask()->get_Children()->Add(u"Task 2"); | |
//Crate an Extended Attribute from the Text2 Lookup Definition for Id 1 | |
auto taskExtendedAttributeText2 = taskExtendedAttributeText2Definition->CreateExtendedAttribute(taskExtendedAttributeText2Definition->get_ValueList()->idx_get(1)); | |
//Add the Extended Attribute to task | |
task2->get_ExtendedAttributes()->Add(taskExtendedAttributeText2); | |
project1->Save(dataDir + u"TextExtendedAttributeWithLookup_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
// C# preprocessor directive: #endregion | |
// C# preprocessor directive: #region Adding Duration Attribute with Lookup option | |
System::SharedPtr<Project> project2 = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
//Create an Extended Attribute Definition of Duration2 type | |
auto taskExtendedAttributeDuration2Definition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::CustomFieldType::Duration, Aspose::Tasks::ExtendedAttributeTask::Duration2, u"Some duration"); | |
//Add lookup values for extended attribute definition | |
taskExtendedAttributeDuration2Definition->AddLookupValue([&]{ auto tmp_2 = System::MakeObject<Value>(); tmp_2->set_Id(2); tmp_2->set_Duration(project2->GetDuration(4, Aspose::Tasks::TimeUnitType::Hour)); tmp_2->set_Description(u"4 hours"); return tmp_2; }()); | |
taskExtendedAttributeDuration2Definition->AddLookupValue([&]{ auto tmp_3 = System::MakeObject<Value>(); tmp_3->set_Id(3); tmp_3->set_Duration(project2->GetDuration(1, Aspose::Tasks::TimeUnitType::Day)); tmp_3->set_Description(u"1 day"); return tmp_3; }()); | |
taskExtendedAttributeDuration2Definition->AddLookupValue([&]{ auto tmp_4 = System::MakeObject<Value>(); tmp_4->set_Id(4); tmp_4->set_Duration(project2->GetDuration(1, Aspose::Tasks::TimeUnitType::Hour)); tmp_4->set_Description(u"1 hour"); return tmp_4; }()); | |
taskExtendedAttributeDuration2Definition->AddLookupValue([&]{ auto tmp_5 = System::MakeObject<Value>(); tmp_5->set_Id(7); tmp_5->set_Duration(project2->GetDuration(10, Aspose::Tasks::TimeUnitType::Day)); tmp_5->set_Description(u"10 days"); return tmp_5; }()); | |
//Add the definition to the project's Extended Attributes collection | |
project2->get_ExtendedAttributes()->Add(taskExtendedAttributeDuration2Definition); | |
//Add a task to the project | |
auto task3 = project2->get_RootTask()->get_Children()->Add(u"Task 3"); | |
//Create an Extended Attribute from the Duration2 Lookup Definition for Id 3 | |
auto taskExtendedAttributeDuration2 = taskExtendedAttributeDuration2Definition->CreateExtendedAttribute(taskExtendedAttributeDuration2Definition->get_ValueList()->idx_get(3)); | |
//Add the Extended Attribute to task | |
task3->get_ExtendedAttributes()->Add(taskExtendedAttributeDuration2); | |
project2->Save(dataDir + u"DurationExtendedAttributeWithLookup_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
// C# preprocessor directive: #endregion | |
// C# preprocessor directive: #region Adding Date-Time with Lookup option | |
System::SharedPtr<Project> project3 = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
//Create an Extended Attribute Definition of Finish2 Type | |
auto taskExtendedAttributeFinish2Definition = ExtendedAttributeDefinition::CreateLookupTaskDefinition(Aspose::Tasks::CustomFieldType::Finish, Aspose::Tasks::ExtendedAttributeTask::Finish2, u"Some finish"); | |
//Add lookup values for extended attribute defintion | |
taskExtendedAttributeFinish2Definition->AddLookupValue([&]{ auto tmp_6 = System::MakeObject<Value>(); tmp_6->set_Id(2); tmp_6->set_DateTimeValue(System::DateTime(1984, 1, 1, 00, 00, 1)); tmp_6->set_Description(u"This is Value2"); return tmp_6; }()); | |
taskExtendedAttributeFinish2Definition->AddLookupValue([&]{ auto tmp_7 = System::MakeObject<Value>(); tmp_7->set_Id(3); tmp_7->set_DateTimeValue(System::DateTime(1994, 1, 1, 00, 1, 1)); tmp_7->set_Description(u"This is Value3"); return tmp_7; }()); | |
taskExtendedAttributeFinish2Definition->AddLookupValue([&]{ auto tmp_8 = System::MakeObject<Value>(); tmp_8->set_Id(4); tmp_8->set_DateTimeValue(System::DateTime(2009, 12, 31, 00, 00, 00)); tmp_8->set_Description(u"This is Value4"); return tmp_8; }()); | |
taskExtendedAttributeFinish2Definition->AddLookupValue([&]{ auto tmp_9 = System::MakeObject<Value>(); tmp_9->set_Id(7); tmp_9->set_DateTimeValue(System::DateTime::get_Now()); tmp_9->set_Description(u"This is Value6"); return tmp_9; }()); | |
//Add the definition to the project's Extended Attributes collection | |
project3->get_ExtendedAttributes()->Add(taskExtendedAttributeFinish2Definition); | |
//Add a task to the project | |
auto task4 = project3->get_RootTask()->get_Children()->Add(u"Task 4"); | |
//Create an Extneded Attribute from the Finish2 Lookup Definition for Id 3 | |
auto taskExtendedAttributeFinish2 = taskExtendedAttributeFinish2Definition->CreateExtendedAttribute(taskExtendedAttributeFinish2Definition->get_ValueList()->idx_get(3)); | |
//Add the Extended Attribute to task | |
task4->get_ExtendedAttributes()->Add(taskExtendedAttributeFinish2); | |
// Save the Project | |
project3->Save(dataDir + u"FinishExtendedAttributeWithLookup_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); | |
// C# preprocessor directive: #endregion | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> proj = System::MakeObject<Project>(); | |
proj->set_WBSCodeDefinition(System::MakeObject<WBSCodeDefinition>()); | |
proj->get_WBSCodeDefinition()->set_GenerateWBSCode(true); | |
proj->get_WBSCodeDefinition()->set_VerifyUniqueness(true); | |
proj->get_WBSCodeDefinition()->set_CodePrefix(u"CRS-"); | |
System::SharedPtr<WBSCodeMask> mask = System::MakeObject<WBSCodeMask>(); | |
mask->set_Length(2); | |
mask->set_Separator(u"-"); | |
mask->set_Sequence(Aspose::Tasks::WBSSequence::OrderedNumbers); | |
proj->get_WBSCodeDefinition()->get_CodeMaskCollection()->Add(mask); | |
mask = System::MakeObject<WBSCodeMask>(); | |
mask->set_Length(1); | |
mask->set_Separator(u"-"); | |
mask->set_Sequence(Aspose::Tasks::WBSSequence::OrderedUppercaseLetters); | |
proj->get_WBSCodeDefinition()->get_CodeMaskCollection()->Add(mask); | |
System::SharedPtr<Task> tsk = proj->get_RootTask()->get_Children()->Add(u"Task 1"); | |
System::SharedPtr<Task> child = tsk->get_Children()->Add(u"Task 2"); | |
proj->Recalculate(); | |
proj->Save(dataDir + u"AddWBSCodes_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::String projectName = u"SplitTaskFinishDate.mpp"; | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + projectName); | |
// Find a split task | |
System::SharedPtr<Task> splitTask = project->get_RootTask()->get_Children()->GetByUid(4); | |
// Find the project calendar | |
System::SharedPtr<Calendar> calendar = project->Get<System::SharedPtr<Calendar>>(Prj::Calendar()); | |
// Calculate task's finish date with different durations | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 8 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(8, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 16 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(16, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 24 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(24, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 28 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(28, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 32 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(32, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 46 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(46, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 61 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(61, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 75 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(75, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 80 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(80, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 120 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(120, 0, 0))); | |
System::Console::WriteLine(System::String(u"Start Date: ") + splitTask->Get<System::DateTime>(Tsk::Start()).ToShortDateString() + u"\n+ Duration 150 hours\nFinish Date: " + calendar->GetTaskFinishDateFromDuration(splitTask, System::TimeSpan(150, 0, 0))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskDurations.mpp"); | |
// Get a task to calculate its duration in different formats | |
System::SharedPtr<Task> task = project1->get_RootTask()->get_Children()->GetById(1); | |
// Get the duration in Minutes, Days, Hours, Weeks and Months | |
double mins = task->Get<Duration>(Tsk::Duration()).Convert(Aspose::Tasks::TimeUnitType::Minute).ToDouble(); | |
System::Console::WriteLine(u"Duration in Mins: {0}", System::ObjectExt::Box<double>(mins)); | |
double days = task->Get<Duration>(Tsk::Duration()).Convert(Aspose::Tasks::TimeUnitType::Day).ToDouble(); | |
System::Console::WriteLine(u"Duration in Days: {0}", System::ObjectExt::Box<double>(days)); | |
double hours = task->Get<Duration>(Tsk::Duration()).Convert(Aspose::Tasks::TimeUnitType::Hour).ToDouble(); | |
System::Console::WriteLine(u"Duration in Hours: {0}", System::ObjectExt::Box<double>(hours)); | |
double weeks = task->Get<Duration>(Tsk::Duration()).Convert(Aspose::Tasks::TimeUnitType::Week).ToDouble(); | |
System::Console::WriteLine(u"Duration in Weeks: {0}", System::ObjectExt::Box<double>(weeks)); | |
double months = task->Get<Duration>(Tsk::Duration()).Convert(Aspose::Tasks::TimeUnitType::Month).ToDouble(); | |
System::Console::WriteLine(u"Duration in Months: {0}", System::ObjectExt::Box<double>(months)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::Console::WriteLine(u"Project Calculation mode is Automatic: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(project->get_CalculationMode(), Aspose::Tasks::CalculationMode::Automatic))); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
task->Set<Duration>(Tsk::Duration(), project->GetDuration(2)); | |
task->Set<int32_t>(Tsk::PercentComplete(), 50); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
auto project = System::MakeObject<Project>(dataDir + u"Blank2010.mpp"); | |
auto parameters = [&]{ auto tmp_0 = System::MakeObject<RecurringTaskParameters>(); tmp_0->set_TaskName(u"Recurring task"); tmp_0->set_Duration(project->GetDuration(1, Aspose::Tasks::TimeUnitType::Day)); tmp_0->set_RecurrencePattern([&]{ auto tmp_1 = System::MakeObject<WeeklyRecurrencePattern>(); tmp_1->set_Repetition([&]{ auto tmp_2 = System::MakeObject<WeeklyRepetition>(); tmp_2->set_RepetitionInterval(2); tmp_2->set_WeekDays(Aspose::Tasks::WeekdayType::Sunday | Aspose::Tasks::WeekdayType::Monday | Aspose::Tasks::WeekdayType::Friday); return tmp_2; }()); tmp_1->set_RecurrenceRange([&]{ auto tmp_3 = System::MakeObject<EndByRecurrenceRange>(); tmp_3->set_Start(System::DateTime(2018, 7, 1, 8, 0, 0)); tmp_3->set_Finish(System::DateTime(2018, 7, 20, 17, 0, 0)); return tmp_3; }()); return tmp_1; }()); return tmp_0; }(); | |
project->get_RootTask()->get_Children()->Add(parameters); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project | |
System::SharedPtr<Project> splitTaskProject = System::MakeObject<Project>(); | |
// Get a standard calendar | |
System::SharedPtr<Calendar> calendar = splitTaskProject->Get<System::SharedPtr<Calendar>>(Prj::Calendar()); | |
// Set project's calendar settings | |
splitTaskProject->Set(Prj::StartDate(), System::DateTime(2000, 3, 15, 8, 0, 0)); | |
splitTaskProject->Set(Prj::FinishDate(), System::DateTime(2000, 4, 21, 17, 0, 0)); | |
// Add a new task to root task | |
System::SharedPtr<Task> rootTask = splitTaskProject->get_RootTask(); | |
rootTask->Set<System::String>(Tsk::Name(), u"Root"); | |
System::SharedPtr<Task> taskToSplit = rootTask->get_Children()->Add(u"Task1"); | |
taskToSplit->Set<Duration>(Tsk::Duration(), splitTaskProject->GetDuration(3)); | |
// Create a new resource assignment and generate timephased data | |
System::SharedPtr<ResourceAssignment> splitResourceAssignment = splitTaskProject->get_ResourceAssignments()->Add(taskToSplit, nullptr); | |
splitResourceAssignment->TimephasedDataFromTaskDuration(calendar); | |
// Split the task into 3 parts. | |
// Provide start date and finish date arguments to SplitTask method which will be used for split | |
splitResourceAssignment->SplitTask(System::DateTime(2000, 3, 16, 8, 0, 0), System::DateTime(2000, 3, 16, 17, 0, 0), calendar); | |
splitResourceAssignment->SplitTask(System::DateTime(2000, 3, 18, 8, 0, 0), System::DateTime(2000, 3, 18, 17, 0, 0), calendar); | |
splitResourceAssignment->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::Contoured); | |
// Save the Project | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
splitTaskProject->Save(dataDir + u"CreateSplitTasks_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"SubProjectTask.mpp"); | |
// Add task | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task 1"); | |
// Setting new subproject link | |
task->Set<System::String>(Tsk::SubprojectName(), dataDir + u"subProject.mpp"); | |
// Save project | |
project->Save(dataDir + u"SubProjectTask_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Add task, sub task and save project | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Summary1"); | |
System::SharedPtr<Task> subtask = task->get_Children()->Add(u"Subtask1"); | |
project->Save(dataDir + u"CreateTasks_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project from file stream | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"CriticalEffortDrivenTasks.mpp", System::IO::FileMode::Open); | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(fs); | |
fs->Close(); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::String strED = tsk1->Get<NullableBool>(Tsk::IsEffortDriven()).get_Value() ? System::String(u"EffortDriven") : System::String(u"Non-EffortDriven"); | |
System::String strCrit = tsk1->Get<NullableBool>(Tsk::IsCritical()).get_Value() ? System::String(u"Critical") : System::String(u"Non-Critical"); | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strED); | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strCrit); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project from file stream | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"EstimatedMilestoneTasks.mpp", System::IO::FileMode::Open); | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(fs); | |
fs->Close(); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::String strEst = tsk1->Get<NullableBool>(Tsk::IsEstimated()).get_Value() ? System::String(u"Estimated") : System::String(u"Non-Estimated"); | |
System::String strMileStone = tsk1->Get<NullableBool>(Tsk::IsMilestone()).get_Value() ? System::String(u"Milestone") : System::String(u"Non-Milestone"); | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strEst); | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strMileStone); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Loading project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"MoveTask.mpp"); | |
// Move tasks with id 2 to the end of the collection | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(2); | |
task->MoveToSibling(-1); | |
// Saving File To Disk | |
project->Save(dataDir + u"MoveTaskAtTheEnd_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Loading project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"MoveTask.mpp"); | |
// Set CalculationMode | |
project->set_CalculationMode(Aspose::Tasks::CalculationMode::Automatic); | |
// Get Tasks by Ids | |
System::SharedPtr<Task> t6 = project->get_RootTask()->get_Children()->GetByUid(6); | |
System::SharedPtr<Task> t3 = project->get_RootTask()->get_Children()->GetByUid(3); | |
// Adding Task 6 to another parent | |
t3->get_Children()->Add(t6); | |
// Saving File To Disk | |
project->Save(dataDir + u"MoveTaskUnderAnotherParent_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Loading project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"MoveTask.mpp"); | |
// Move tasks with id 5 before task with id 3 | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->GetById(5); | |
task->MoveToSibling(3); | |
// Saving File To Disk | |
project->Save(dataDir + u"MoveTaskUnderSameParent_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create Project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ActualTaskProperties.mpp"); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(project->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto task_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Task Name : ") + task->Get(Tsk::Name())); | |
System::Console::WriteLine(System::String(u"Actual Start: ") + task->Get<System::DateTime>(Tsk::ActualStart()).ToLongDateString()); | |
System::Console::WriteLine(System::String(u"Actual Finish: ") + task->Get<System::DateTime>(Tsk::ActualFinish()).ToLongDateString()); | |
System::Console::WriteLine(System::String(u"Actual Duration: ") + System::Convert::ToString(task->Get<Duration>(Tsk::ActualDuration()).get_TimeSpan().get_Hours())); | |
System::Console::WriteLine(System::String(u"Actual Cost: ") + System::Convert::ToString(task->Get<System::Decimal>(Tsk::ActualCost()))); | |
System::Console::WriteLine(u"---------------------------------------------"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"BudgetWorkAndCost.mpp"); | |
// Display budget work and budget cost for project summary task | |
System::SharedPtr<Task> projSummary = project1->get_RootTask(); | |
System::Console::WriteLine(System::String(u"projSummary.BudgetWork = ") + System::ObjectExt::ToString(projSummary->Get<Duration>(Tsk::BudgetWork()))); | |
System::Console::WriteLine(System::String(u"projSummary.BudgetCost = ") + System::Convert::ToString(projSummary->Get<System::Decimal>(Tsk::BudgetCost()))); | |
// Display resource budget work | |
System::SharedPtr<Resource> rsc = project1->get_Resources()->GetByUid(6); | |
System::Console::WriteLine(System::String(u"Resource BudgetWork = ") + System::ObjectExt::ToString(rsc->Get<Duration>(Rsc::BudgetWork()))); | |
// Display resource budget cost | |
rsc = project1->get_Resources()->GetByUid(7); | |
System::Console::WriteLine(System::String(u"Resource BudgetCost = ") + System::Convert::ToString(rsc->Get<System::Decimal>(Rsc::BudgetCost()))); | |
// Display assignment budget work and budget cost | |
{ | |
auto assn_enumerator = (projSummary->get_Assignments())->GetEnumerator(); | |
decltype(assn_enumerator->get_Current()) assn; | |
while (assn_enumerator->MoveNext() && (assn = assn_enumerator->get_Current(), true)) | |
{ | |
// C# preprocessor directive: #if !__cplusplus | |
// C# preprocessor directive: #endif | |
auto resource = assn->Get(Asn::Resource()); | |
if (static_cast<ResourceType>(resource->Get(Rsc::Type())) == Aspose::Tasks::ResourceType::Work) | |
{ | |
System::Console::WriteLine(System::String(u"Assignment BudgetWork = ") + System::ObjectExt::ToString(assn->Get<Duration>(Asn::BudgetWork()))); | |
} | |
else | |
{ | |
System::Console::WriteLine(System::String(u"Assignment BudgetCost = ") + System::Convert::ToString(assn->Get<System::Decimal>(Asn::BudgetCost()))); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ParentChildTasks.mpp"); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(project1->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(tsk1->Get(Tsk::Name())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project from file stream | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"StopResumeDates.mpp", System::IO::FileMode::Open); | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(fs); | |
fs->Close(); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Check Stop and Resume dates for all tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
if (tsk1->Get<System::DateTime>(Tsk::Stop()).ToShortDateString() == u"1/1/2000") | |
{ | |
System::Console::WriteLine(u"Stop: NA"); | |
} | |
else | |
{ | |
System::Console::WriteLine(System::String(u"Stop: ") + tsk1->Get<System::DateTime>(Tsk::Stop()).ToShortDateString()); | |
} | |
if (tsk1->Get<System::DateTime>(Tsk::Resume()).ToShortDateString() == u"1/1/2000") | |
{ | |
System::Console::WriteLine(u"Resume: NA"); | |
} | |
else | |
{ | |
System::Console::WriteLine(System::String(u"Resume: ") + tsk1->Get<System::DateTime>(Tsk::Resume()).ToShortDateString()); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(dataDir + u"ReadTaskCalendar.mpp"); | |
// Declare ChildTasksCollector class object | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Use TaskUtils to get all children tasks in RootTask | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Parse all the recursive children | |
{ | |
auto tsk_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk_enumerator->get_Current()) tsk; | |
while (tsk_enumerator->MoveNext() && (tsk = tsk_enumerator->get_Current(), true)) | |
{ | |
System::SharedPtr<Calendar> tskCal = tsk->Get<System::SharedPtr<Calendar>>(Tsk::Calendar()); | |
System::Console::WriteLine(u"Task calendar name: {0}", System::ObjectExt::Box<System::String>(tskCal == nullptr ? u"None" : tskCal->get_Name())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create new project | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Add task and set cost | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
task->Set<System::Decimal>(Tsk::Cost(), static_cast<System::Decimal>(800)); | |
// Display cost related properties of task | |
System::Console::WriteLine(task->Get<System::Decimal>(Tsk::RemainingCost())); | |
System::Console::WriteLine(task->Get<double>(Tsk::FixedCost())); | |
System::Console::WriteLine(task->Get<double>(Tsk::CostVariance())); | |
System::Console::WriteLine(project->get_RootTask()->Get<System::Decimal>(Tsk::Cost())); | |
System::Console::WriteLine(project->get_RootTask()->Get<double>(Tsk::FixedCost())); | |
System::Console::WriteLine(project->get_RootTask()->Get<System::Decimal>(Tsk::RemainingCost())); | |
System::Console::WriteLine(project->get_RootTask()->Get<double>(Tsk::CostVariance())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ReadTaskExtendedAttributes.mpp"); | |
// Read extended attributes for tasks | |
{ | |
auto tsk_enumerator = (project1->get_RootTask()->get_Children())->GetEnumerator(); | |
decltype(tsk_enumerator->get_Current()) tsk; | |
while (tsk_enumerator->MoveNext() && (tsk = tsk_enumerator->get_Current(), true)) | |
{ | |
auto ea_enumerator = (tsk->get_ExtendedAttributes())->GetEnumerator(); | |
decltype(ea_enumerator->get_Current()) ea; | |
while (ea_enumerator->MoveNext() && (ea = ea_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(ea->get_FieldId()); | |
System::Console::WriteLine(ea->get_ValueGuid()); | |
switch (ea->get_AttributeDefinition()->get_CfType()) | |
{ | |
case Aspose::Tasks::CustomFieldType::Date: | |
case Aspose::Tasks::CustomFieldType::Start: | |
case Aspose::Tasks::CustomFieldType::Finish: | |
System::Console::WriteLine(System::ObjectExt::Box<System::DateTime>(ea->get_DateValue())); | |
break; | |
case Aspose::Tasks::CustomFieldType::Text: | |
System::Console::WriteLine(ea->get_TextValue()); | |
break; | |
case Aspose::Tasks::CustomFieldType::Duration: | |
System::Console::WriteLine(System::ObjectExt::ToString(ea->get_DurationValue())); | |
break; | |
case Aspose::Tasks::CustomFieldType::Cost: | |
case Aspose::Tasks::CustomFieldType::Number: | |
System::Console::WriteLine(ea->get_NumericValue()); | |
break; | |
case Aspose::Tasks::CustomFieldType::Flag: | |
System::Console::WriteLine(ea->get_FlagValue()); | |
break; | |
default: | |
break; | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project from file stream | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"TaskOutlineProperties.mpp", System::IO::FileMode::Open); | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(fs); | |
fs->Close(); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Outline Level : " + tsk1->Get<int32_t>(Tsk::OutlineLevel())); | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Outline Number : " + tsk1->Get(Tsk::OutlineNumber())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project from file stream | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"TaskOvertimes.mpp", System::IO::FileMode::Open); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(fs); | |
fs->Close(); | |
// Read overtime and percentage completion for tasks | |
{ | |
auto tsk1_enumerator = (project1->get_RootTask()->get_Children())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(tsk1->Get<System::Decimal>(Tsk::OvertimeCost())); | |
System::Console::WriteLine(System::ObjectExt::ToString(tsk1->Get<Duration>(Tsk::OvertimeWork()))); | |
System::Console::WriteLine(tsk1->Get<int32_t>(Tsk::PercentComplete())); | |
System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PercentWorkComplete()))); | |
System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PhysicalPercentComplete()))); | |
// Set percent complete | |
tsk1->Set<int32_t>(Tsk::PercentComplete(), 100); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskPercentageCompletion.mpp"); | |
// Access tasks and display percentage completion | |
auto tasks = project1->get_RootTask()->get_Children(); | |
{ | |
auto tsk1_enumerator = (tasks)->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(tsk1->Get<int32_t>(Tsk::PercentComplete())); | |
System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PercentWorkComplete()))); | |
System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PhysicalPercentComplete()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project from file stream | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"TaskPriority.mpp", System::IO::FileMode::Open); | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(fs); | |
fs->Close(); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Display Priorities for all tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Priority : " + System::Convert::ToString(tsk1->Get<int32_t>(Tsk::Priority()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> prj = System::MakeObject<Project>(dataDir + u"ReadTaskProperties.mpp"); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(prj->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk_enumerator->get_Current()) tsk; | |
while (tsk_enumerator->MoveNext() && (tsk = tsk_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(u"Task Id: {0}", System::ObjectExt::Box<int32_t>(tsk->Get<int32_t>(Tsk::Id()))); | |
System::Console::WriteLine(u"Task Uid: {0}", System::ObjectExt::Box<int32_t>(tsk->Get<int32_t>(Tsk::Uid()))); | |
System::Console::WriteLine(u"Task Name: {0}", System::ObjectExt::Box<System::String>(tsk->Get(Tsk::Name()))); | |
System::Console::WriteLine(u"Task Start: {0}", System::ObjectExt::Box<System::DateTime>(tsk->Get<System::DateTime>(Tsk::Start()))); | |
System::Console::WriteLine(u"Task Finish: {0}", System::ObjectExt::Box<System::DateTime>(tsk->Get<System::DateTime>(Tsk::Finish()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Read project | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskWBS.mpp"); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(project1->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk_enumerator->get_Current()) tsk; | |
while (tsk_enumerator->MoveNext() && (tsk = tsk_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(tsk->Get(Tsk::WBS())); | |
System::Console::WriteLine(tsk->Get(Tsk::WBSLevel())); | |
// Set custom WBS | |
tsk->Set<System::String>(Tsk::WBS(), System::String(u"custom wbs") + tsk->Get(Tsk::WBS())); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ReadWriteTimephasedData.mpp"); | |
// Set project properties | |
project1->Set(Prj::StartDate(), System::DateTime(2013, 10, 30, 9, 0, 0)); | |
project1->Set<NullableBool>(Prj::NewTasksAreManual(), NullableBool::to_NullableBool(false)); | |
// Add task and resources | |
System::SharedPtr<Task> task = project1->get_RootTask()->get_Children()->Add(u"Task"); | |
System::SharedPtr<Resource> rsc = project1->get_Resources()->Add(u"Rsc"); | |
// Set resource rates and task duration | |
rsc->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(10)); | |
rsc->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(15)); | |
task->Set<Duration>(Tsk::Duration(), project1->GetDuration(6)); | |
// Create resource assignment | |
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task, rsc); | |
assn->Set(Asn::Stop(), System::DateTime::MinValue); | |
assn->Set(Asn::Resume(), System::DateTime::MinValue); | |
// Set Backloaded contour, it increases task duration from 6 to 10 days | |
assn->Set<WorkContourType>(Asn::WorkContour(), Aspose::Tasks::WorkContourType::BackLoaded); | |
project1->SetBaseline(Aspose::Tasks::BaselineType::Baseline); | |
task->Set<int32_t>(Tsk::PercentComplete(), 50); | |
// Read timephased data | |
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimephasedData>>> td = assn->GetTimephasedData(assn->Get<System::DateTime>(Asn::Start()), assn->Get<System::DateTime>(Asn::Finish()), Aspose::Tasks::TimephasedDataType::AssignmentRemainingWork)->ToList(); | |
System::Console::WriteLine(td->get_Count()); | |
{ | |
auto timePhasedValue_enumerator = (td)->GetEnumerator(); | |
decltype(timePhasedValue_enumerator->get_Current()) timePhasedValue; | |
while (timePhasedValue_enumerator->MoveNext() && (timePhasedValue = timePhasedValue_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(timePhasedValue->get_Value()); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskSheetView.mpp"); | |
// Set presentation format Task Sheet and save project as PDF | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::TaskSheet); | |
project1->Save(dataDir + u"TaskSheetView_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskUsageView.mpp"); | |
// Define the SaveOptions with required TimeScale settings as Days | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::Days); | |
// Set the Presentation format to ResourceUsage | |
options->set_PresentationFormat(Aspose::Tasks::Visualization::PresentationFormat::TaskUsage); | |
// Save the Project | |
System::String outputProject = u"project_TaskUsageView_result_days_out.pdf"; | |
project1->Save(dataDir + outputProject, options); | |
// Set the Tiemscale settings to ThirdsOfMonths | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
// Save the Project | |
outputProject = u"project_TaskUsageView_result_thirdsOfMonths_out.pdf"; | |
project1->Save(dataDir + outputProject, options); | |
// Set the Timescale settings to Months | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); | |
// Save the project | |
outputProject = u"project_TaskUsageView_result_months_out.pdf"; | |
project1->Save(dataDir + outputProject, options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskUsageViewWithDetails.mpp"); | |
// Get Default view | |
System::SharedPtr<UsageView> view = System::DynamicCast_noexcept<Aspose::Tasks::TaskUsageView>(project1->get_DefaultView()); | |
// Details header column will not be displayed | |
view->set_DisplayDetailsHeaderColumn(false); | |
view->set_RepeatDetailsHeaderOnAllRows(false); | |
view->set_AlignDetailsData(System::Drawing::StringAlignment::Near); | |
project1->Save(dataDir + u"task usage1_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); | |
// Display details header column | |
view->set_DisplayDetailsHeaderColumn(true); | |
// Repeat details header on all assignments rows | |
view->set_RepeatDetailsHeaderOnAllRows(true); | |
view->set_AlignDetailsData(System::Drawing::StringAlignment::Far); | |
project1->Save(dataDir + u"task usage2_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
auto project = System::MakeObject<Project>(dataDir + u"RenumberExample.mpp"); | |
auto tasks = project->get_RootTask()->SelectAllChildTasks(); | |
System::Console::WriteLine(u"WBS codes before: "); | |
// output: ""; "1"; "2"; "4" | |
{ | |
auto task_enumerator = (tasks)->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"\"") + task->Get(Tsk::WBS()) + u"\"" + u"; "); | |
} | |
} | |
// project.RenumberWBSCode(); // this overload could have used too | |
project->RenumberWBSCode([&]{ int32_t init_0[] = {1, 2, 3}; auto list_0 = System::MakeObject<System::Collections::Generic::List<int32_t>>(); list_0->AddInitializer(3, init_0); return list_0; }()); | |
System::Console::WriteLine(u"\nWBS codes after: "); | |
// output: ""; "1"; "2"; "3" | |
{ | |
auto task_enumerator = (tasks)->GetEnumerator(); | |
decltype(task_enumerator->get_Current()) task; | |
while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"\"") + task->Get(Tsk::WBS()) + u"\"" + u"; "); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
auto project = System::MakeObject<Project>(dataDir + u"schedule-conflict.mpp"); | |
auto task = project->get_RootTask()->get_Children()->GetById(1); | |
System::Console::WriteLine(task->Get<bool>(Tsk::Warning())); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::String newProject = u"UpdateTaskData.mpp"; | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + newProject); | |
// Set project start date | |
project->Set(Prj::StartDate(), System::DateTime(2012, 7, 29, 8, 0, 0)); | |
// Add summary task and set its properties | |
System::SharedPtr<Task> summary = project->get_RootTask()->get_Children()->Add(u"Summary task"); | |
System::SharedPtr<Task> task1 = summary->get_Children()->Add(u"First task"); | |
task1->Set<Duration>(Tsk::Duration(), project->GetDuration(3)); | |
task1->Set(Tsk::Deadline(), task1->Get<System::DateTime>(Tsk::Start()).AddDays(10)); | |
task1->Set<System::String>(Tsk::NotesText(), u"The first task."); | |
task1->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::MinuteEstimated); | |
task1->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::FinishNoLaterThan); | |
task1->Set(Tsk::ConstraintDate(), task1->Get<System::DateTime>(Tsk::Deadline()).AddDays(-1)); | |
// Create 10 new sub tasks for summary task | |
for (int32_t i = 0; i < 10; i++) | |
{ | |
System::SharedPtr<Task> subTask = summary->get_Children()->Add(System::String::Format(u"Task{0}",i + 2)); | |
subTask->Set<Duration>(Tsk::Duration(), task1->Get<Duration>(Tsk::Duration()).Add(project->GetDuration(i + 1))); | |
subTask->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::Day); | |
subTask->Set(Tsk::Deadline(), task1->Get<System::DateTime>(Tsk::Deadline()).AddDays(i + 1)); | |
} | |
// Save the Project | |
project->Save(dataDir + u"project_UpdateTaskData_updated_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ViewSplitTasks.mpp"); | |
// Access task | |
System::SharedPtr<Task> splitTask = project1->get_RootTask()->get_Children()->GetById(4); | |
// Display split parts of task | |
System::SharedPtr<SplitPartCollection> collection = splitTask->get_SplitParts(); | |
{ | |
auto splitPart_enumerator = (collection)->GetEnumerator(); | |
decltype(splitPart_enumerator->get_Current()) splitPart; | |
while (splitPart_enumerator->MoveNext() && (splitPart = splitPart_enumerator->get_Current(), true)) | |
{ | |
System::Console::WriteLine(System::String(u"Index: ") + splitPart->get_Index() + u"\nStart: " + splitPart->get_Start() + u"\nFinish: " + splitPart->get_Finish() + u"\n"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"Project2.mpp"); | |
// Create a ChildTasksCollector instance | |
System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>(); | |
// Collect all the tasks from RootTask using TaskUtils | |
TaskUtils::Apply(project1->get_RootTask(), collector, 0); | |
// Parse through all the collected tasks | |
{ | |
auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator(); | |
decltype(tsk1_enumerator->get_Current()) tsk1; | |
while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true)) | |
{ | |
if (tsk1->Get<System::DateTime>(Tsk::ConstraintDate()).ToShortDateString() == u"1/1/2000") | |
{ | |
System::Console::WriteLine(u"NA"); | |
} | |
else | |
{ | |
System::Console::WriteLine(tsk1->Get<System::DateTime>(Tsk::ConstraintDate()).ToShortDateString()); | |
} | |
System::Console::WriteLine(System::ObjectExt::ToString(tsk1->Get<ConstraintType>(Tsk::ConstraintType()))); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Set constraint As Late As Possible for task with Id 11 | |
System::SharedPtr<Task> wallBoard = project1->get_RootTask()->get_Children()->GetById(11); | |
wallBoard->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::AsLateAsPossible); | |
// Save project as pdf | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_StartDate(project1->Get<System::DateTime>(Prj::StartDate())); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project1->Save(dataDir + u"project_AsLateAsPossible_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Set constraint Finish No Earlier Than on task with Id 2 | |
System::SharedPtr<Task> first = project1->get_RootTask()->get_Children()->GetById(2); | |
first->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::FinishNoEarlierThan); | |
first->Set(Tsk::ConstraintDate(), System::DateTime(2016, 12, 1, 18, 0, 0)); | |
// Save project as pdf | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_StartDate(project1->Get<System::DateTime>(Prj::StartDate())); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project1->Save(dataDir + u"project_FinishNoEarlierThan_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Set constraint Must Finish On for task with Id 15 | |
System::SharedPtr<Task> interiorFixtures = project1->get_RootTask()->get_Children()->GetById(15); | |
interiorFixtures->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::MustFinishOn); | |
interiorFixtures->Set(Tsk::ConstraintDate(), System::DateTime(2017, 3, 1, 18, 0, 0)); | |
// Save project as pdf | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_StartDate(project1->Get<System::DateTime>(Prj::StartDate())); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project1->Save(dataDir + u"project_MustFinishOn_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Set constraint Must Start On for task with Id 5 | |
System::SharedPtr<Task> roof = project1->get_RootTask()->get_Children()->GetById(5); | |
roof->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::MustStartOn); | |
roof->Set(Tsk::ConstraintDate(), System::DateTime(2017, 1, 1, 9, 0, 0)); | |
// Save project as pdf | |
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>(); | |
options->set_StartDate(project1->Get<System::DateTime>(Prj::StartDate())); | |
options->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project1->Save(dataDir + u"project_MustStartOn_out.pdf", options); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); | |
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ConstraintStartNoEarlierThan.mpp"); | |
// Set constraint Start No Earlier Than on task with Id 1 | |
System::SharedPtr<Task> summary = project->get_RootTask()->get_Children()->GetById(1); | |
summary->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::StartNoEarlierThan); | |
summary->Set(Tsk::ConstraintDate(), System::DateTime(2016, 12, 1, 9, 0, 0)); | |
// Save project as pdf | |
System::SharedPtr<SaveOptions> o = System::MakeObject<PdfSaveOptions>(); | |
o->set_StartDate(project->Get<System::DateTime>(Prj::StartDate())); | |
o->set_Timescale(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths); | |
project->Save(dataDir + u"project_StartNoEarlierThan_out.pdf", o); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Add task | |
System::SharedPtr<Task> tsk1 = project->get_RootTask()->get_Children()->Add(u"Task1"); | |
// Create calendar and assign to task | |
System::SharedPtr<Aspose::Tasks::Calendar> cal = project->get_Calendars()->Add(u"TaskCal1"); | |
tsk1->Set<System::SharedPtr<Calendar>>(Tsk::Calendar(), cal); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a new project and add a new task | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task"); | |
// Task duration in days (default time unit) | |
Duration duration = task->Get<Duration>(Tsk::Duration()); | |
System::Console::WriteLine(u"Duration equals 1 day: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(duration), u"1 day"))); | |
// Convert to hours time unit | |
duration = duration.Convert(Aspose::Tasks::TimeUnitType::Hour); | |
System::Console::WriteLine(u"Duration equals 8 hrs: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(duration), u"8 hrs"))); | |
// Get wrapped TimeSpan instance | |
System::Console::WriteLine(u"Duration TimeSpan equals to TimeSpan of 8 hrs: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(duration.get_TimeSpan(), System::TimeSpan::FromHours(8)))); | |
// Increase task duration to 1 week and display if duration is updated successfully | |
task->Set<Duration>(Tsk::Duration(), project->GetDuration(1, Aspose::Tasks::TimeUnitType::Week)); | |
System::Console::WriteLine(u"Duration equals 1 wk: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(task->Get<Duration>(Tsk::Duration())), u"1 wk"))); | |
// Decrease task duration and display if duration is updated successfully | |
task->Set<Duration>(Tsk::Duration(), task->Get<Duration>(Tsk::Duration()).Subtract(0.5)); | |
System::Console::WriteLine(u"Duration equals 0.5 wks: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(System::ObjectExt::ToString(task->Get<Duration>(Tsk::Duration())), u"0.5 wks"))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create project instance | |
System::SharedPtr<Project> project = System::MakeObject<Project>(); | |
// Add task and set task properties | |
System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task1"); | |
task->Set(Tsk::Start(), project->get_RootTask()->Get<System::DateTime>(Tsk::Start()).AddDays(1)); | |
task->Set<System::String>(Tsk::Name(), u"new name"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"VbaProject1.mpp"); | |
System::SharedPtr<VbaProject> vbaProject = project->get_VbaProject(); | |
System::SharedPtr<IVbaModule> vbaModule = vbaProject->get_Modules()->ToList()->idx_get(0); | |
System::Console::WriteLine(System::String(u"Attributes Count: ") + vbaModule->get_Attributes()->get_Count()); | |
System::Console::WriteLine(System::String(u"VB_Name: ") + vbaModule->get_Attributes()->ToList()->idx_get(0)->get_Key()); | |
System::Console::WriteLine(System::String(u"Module1: ") + vbaModule->get_Attributes()->ToList()->idx_get(0)->get_Value()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"VbaProject1.mpp"); | |
System::SharedPtr<VbaProject> vbaProject = project->get_VbaProject(); | |
System::Console::WriteLine(System::String(u"Total Modules Count: ") + vbaProject->get_Modules()->get_Count()); | |
System::SharedPtr<IVbaModule> vbaModule = vbaProject->get_Modules()->ToList()->idx_get(0); | |
System::Console::WriteLine(System::String(u"Module Name: ") + vbaModule->get_Name()); | |
System::Console::WriteLine(System::String(u"Source Code: ") + vbaModule->get_SourceCode()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"VbaProject1.mpp"); | |
System::SharedPtr<VbaProject> vbaProject = project->get_VbaProject(); | |
System::SharedPtr<VbaReferenceCollection> references = vbaProject->get_References(); | |
System::Console::WriteLine(u"Reference count ", System::ObjectExt::Box<int32_t>(references->get_Count())); | |
System::SharedPtr<VbaReference> reference = vbaProject->get_References()->ToList()->idx_get(0); | |
System::Console::WriteLine(System::String(u"Identifier: ") + reference->get_LibIdentifier()); | |
System::Console::WriteLine(System::String(u"Name: ") + reference->get_Name()); | |
reference = vbaProject->get_References()->ToList()->idx_get(1); | |
System::Console::WriteLine(System::String(u"Identifier: ") + reference->get_LibIdentifier()); | |
System::Console::WriteLine(System::String(u"Name: ") + reference->get_Name()); | |
reference = vbaProject->get_References()->ToList()->idx_get(2); | |
System::Console::WriteLine(System::String(u"Identifier: ") + reference->get_LibIdentifier()); | |
System::Console::WriteLine(System::String(u"Name: ") + reference->get_Name()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Loading project file | |
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"VbaProject1.mpp"); | |
System::SharedPtr<VbaProject> vbaProject = project->get_VbaProject(); | |
System::Console::WriteLine(System::String(u"VbaProject.Name ") + vbaProject->get_Name()); | |
System::Console::WriteLine(System::String(u"VbaProject.Description ") + vbaProject->get_Description()); | |
System::Console::WriteLine(System::String(u"VbaProject.CompilationArguments") + vbaProject->get_CompilationArguments()); | |
System::Console::WriteLine(System::String(u"VbaProject.HelpContextId") + vbaProject->get_HelpContextId()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment