Aspose.Tasks for C++
Project.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="Project.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/guid.h>
9 #include <system/enum_helpers.h>
10 #include <system/date_time.h>
11 #include <system/array.h>
12 
13 #include "aspose.tasks.cpp/Recalculation/ProjectCalculatedProperties.h"
14 #include "aspose.tasks.cpp/PropertyContainer.h"
15 #include "aspose.tasks.cpp/IContainer.h"
16 #include "aspose.tasks.cpp/ICalculatedPropertySetter.h"
17 #include "aspose.tasks.cpp/ICalculatedPropertyGetter.h"
18 #include "aspose.tasks.cpp/external/LicenseV2/Aspose.LicenseV2/Venture/IVentureLicensed.h"
19 #include "aspose.tasks.cpp/CalculatedPropertySetter.h"
20 #include "aspose.tasks.cpp/CalculatedPropertyGetter.h"
21 #include "aspose.tasks.cpp/ProjectDisplayOptions.h"
22 #include "aspose.tasks.cpp/Key.h"
23 #include "aspose.tasks.cpp/Enums/PrjKey.h"
24 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
25 
26 namespace Aspose
27 {
28 namespace LicenseV2
29 {
30 class LicenseProperties;
31 namespace Venture
32 {
33 class VentureLicense;
34 } // namespace Venture
35 } // namespace LicenseV2
36 namespace Tasks
37 {
38 class AutoRecalculationState;
39 enum class BaselineType;
40 enum class CalculationMode;
41 namespace Calculations
42 {
43 class ProjectCalculator;
44 class ProjectWorkAndCostCalculator;
45 class RescheduleIncompleteWorkCalculator;
46 class ResourceAssignmentCalculator;
47 class ResourceAssignmentCostCalculator;
48 class ResourceAssignmentVarianceCalculator;
49 class ResourceAssignmentWorkCalculator;
50 class ResourceCalculator;
51 class ResourceCostCalculator;
52 class ResourceOverAllocationCalculator;
53 class ResourceWorkCalculator;
54 class TaskByAssignmentCalculator;
55 class TaskCalculator;
56 class TaskSlackCalculator;
57 class TaskWorkCalculator;
58 } // namespace Calculations
59 class Calendar;
60 class CalendarCollection;
61 namespace Compound
62 {
63 class MscdFileSystem;
64 } // namespace Compound
65 namespace Connectivity
66 {
67 class DbSettings;
68 class MpdAssignmentBaselineMapper;
69 class MpdAssignmentMapper;
70 class MpdExtendedAttributeDefinitionMapper;
71 template <typename> class MpdField;
72 class MpdOutlineCodeDefinitionMapper;
73 class MpdOutlineCodeFieldMapper;
74 class MpdReader;
75 class MpdResourceBaselineMapper;
76 class MpdTaskBaselineMapper;
77 class MpdTaskLinkMapper;
78 class MpdTaskMapper;
79 class MpdUtils;
80 class MspCalendarMapper;
81 class MspDbReader;
82 class MspExtendedAttribute;
83 class MspProjectPropsMapper;
84 class MspTaskLinksMapper;
85 class MspTaskMapper;
86 class PmCalendarMapper;
87 class PmProjectMapper;
88 class PmProjectTimeMapper;
89 class PmResourceRateMapper;
90 class PmTaskRelationMapper;
91 class PmWbsMapper;
92 class PrimaveraDbReader;
93 } // namespace Connectivity
94 class CopyToOptions;
95 enum class CostAccrualType;
96 enum class CurrencySymbolPositionType;
97 enum class CustomField;
98 enum class CustomFieldType;
99 class CustomFieldTypeMap;
100 enum class DateFormat;
101 enum class DayType;
102 class Duration;
103 class DurationCalculator;
104 enum class EarnedValueMethodType;
105 class EvaluationModeDatesResetter;
106 class EVCalculator;
107 class ExtendedAttribute;
108 class ExtendedAttributeDefinition;
109 class ExtendedAttributeDefinitionCollection;
110 class Filter;
111 class FilterCollection;
112 class FixedDurationEffortDrivenTaskPlanner;
113 class FormulaToken;
114 class GanttChartView;
115 template <typename T,typename V> using GetAction = System::MulticastDelegate<V(T)>;
116 class Group;
117 class GroupCollection;
118 class IdGenerator;
119 enum class InternalFormatFlags : int64_t;
120 namespace IO
121 {
122 namespace Html
123 {
124 class HtmlCalendarExceptionsReader;
125 class HtmlCalendarTableReader;
126 class HtmlProjectTableReader;
127 class HtmlReadingUtils;
128 class HtmlResourceAssignmentBaseLineTableReader;
129 class HtmlResourceAssignmentTableReader;
130 class HtmlResourceBaseLineTableReader;
131 class HtmlResourceExtAttributesTableReader;
132 class HtmlResourceTableReader;
133 class HtmlTaskBaseLineTableReader;
134 class HtmlTaskExtAttributesTableReader;
135 class HtmlTaskTableReader;
136 } // namespace Html
137 namespace Mpx
138 {
139 class MpxReader;
140 class MPXRecord;
141 class MpxUtils;
142 } // namespace Mpx
143 namespace MSProject
144 {
145 class AssnFieldsMapper;
146 namespace Metadata
147 {
148 class AssignmentExtendedAttributeFlagOffsets;
149 class MppMetadata;
150 } // namespace Metadata
151 class Mpp12CalendarReader;
152 class Mpp12CalendarWriter;
153 class MPP12ExtendedAttributeDefinitionReader;
154 class MPP12OutlineCodeDefinitionWriter;
155 class MPP12Reader;
156 class MPP12ResourceAssignmentWriter;
157 class MPP12ResourceReader;
158 class MPP12ResourceWriter;
159 class MPP12TaskReader;
160 class Mpp12TaskTreeBuilder;
161 class MPP12TaskWriter;
162 class MPP12Writer;
163 class MPP14As12AssnWriter;
164 class MPP14As12TaskReader;
165 class MPP14As12TaskWriter;
166 class MPP14As9AssnWriter;
167 class MPP14As9TaskReader;
168 template <typename> class MPP14AsXResourceAssignmentReader;
169 class MPP14ExtendedAttributeDefinitionReader;
170 class MPP14OutlineCodeDefinitionWriter;
171 class MPP14Reader;
172 class MPP14ResourceAssignmentReader;
173 class MPP14ResourceAssignmentWriter;
174 class MPP14ResourceWriter;
175 class MPP14TaskReader;
176 class MPP14TaskWriter;
177 class Mpp15CalendarWriter;
178 class MPP15Reader;
179 class MPP15ResourceWriter;
180 class MPP15TaskWriter;
181 class MPP9AssignmentExtendedAttributeReader;
182 class MPP9AssignmentExtendedAttributeWriter;
183 class Mpp9CalendarWriter;
184 class MPP9DefaultWeekWorkingDaysReader;
185 class Mpp9DefaultWeekWorkingDaysWriter;
186 class MPP9ExtendedAttributeDefinitionReader;
187 class MPP9ExtendedAttributeDefinitionWriter;
188 class MPP9ExtendedAttributeReader;
189 class MPP9OutlineCodeDefinitionWriter;
190 class MPP9Reader;
191 class MPP9ResourceAssignmentReader;
192 class MPP9ResourceAssignmentWriter;
193 class MPP9ResourceWriter;
194 class MPP9TaskReader;
195 class Mpp9TaskTreeBuilder;
196 class MPP9Writer;
197 class MPPAssignmentExtendedAttributeReader;
198 class MPPAssignmentExtendedAttributeWriter;
199 class MppCalendarWriter;
200 class MppCustomFieldsReader;
201 class MPPExtendedAttributeReader;
202 class MPPExtendedAttributeWriter;
203 class MPPGanttBarStyleWriter;
204 class MPPOutlineCodeDefinitionWriter;
205 class MppProject;
206 class MPPProjectProps2Reader;
207 class MPPProjectProps2Writer;
208 class MPPProjectPropsReader;
209 class MPPProjectPropsWriter;
210 class MPPReader;
211 class MPPResourceAssignmentReader;
212 class MPPResourceAssignmentWriter;
213 class MPPResourceReader;
214 class MPPResourceWriter;
215 class MppSavedViewStateWriter;
216 class MPPTaskLinksWriter;
217 class MPPTaskReader;
218 class MPPTaskWriter;
219 class MPPUtils;
220 class MppViewWriter;
221 class MppWeekDayReader;
222 class MPPWriter;
223 class RscFieldsMapper;
224 class TaskFieldsMapper;
225 class TimelineViewWriter;
226 namespace Writers
227 {
228 class MPP14As9TaskWriter;
229 class MPP9TaskWriter;
230 class MppSubprojectsWriter;
231 } // namespace Writers
232 } // namespace MSProject
233 namespace PrimaveraXml
234 {
235 class P6XmlUtils;
236 class PrimaveraActivityNodeReader;
237 class PrimaveraProjectNodeReader;
238 class PrimaveraProjectScheduleOptionsNodeReader;
239 class PrimaveraReader;
240 class PrimaveraRelationshipNodeReader;
241 class PrimaveraResourceNodeReader;
242 class PrimaveraResourceRateNodeReader;
243 } // namespace PrimaveraXml
244 namespace Pwa
245 {
246 namespace InternalApi
247 {
248 class ExtendedAttributeValueReader;
249 class InternalApiProjectReader;
250 class InternalApiProjectSerializer;
251 class InternalApiProjectWriter;
252 namespace Mapping
253 {
254 class CalendarToRawValuesMapper;
255 class ExtendedAttributeDefinitionMapper;
256 class ExtendedAttributeDefinitionToRawValuesMapper;
257 template <typename> class ExtendedAttributeParentEntityToRawValuesMapper;
258 class ProjectAssignmentsMapper;
259 class ProjectCalendarGuidPropertyMapper;
260 class ProjectCalendarsMapper;
261 class ProjectGuidPropertyMapper;
262 class ProjectResourcesMapper;
263 class ProjectRootMapper;
264 class ProjectTasksMapper;
265 class ProjectToRawValuesMapper;
266 class ProjectViewsMapper;
267 class ProjectWeekDaysPropertyMapper;
268 class TaskLinkEntityMapper;
269 class TaskLinkToRawValuesMapper;
270 } // namespace Mapping
271 } // namespace InternalApi
272 } // namespace Pwa
273 namespace Xer
274 {
275 class PrimaveraExtendedAttributeBuilder;
276 class PrimaveraExtendedAttributeDefinitionBuilder;
277 class PrimaveraExtendedAttributeLookupBuilder;
278 class XerPrimaveraReader;
279 class XerProjectNormalizer;
280 class XerProjectReader;
281 class XerRecord;
282 class XerRecordValueReader;
283 class XerRelationReader;
284 class XerResourceRateReader;
285 class XerRoleWithRates;
286 class XerScheduleOptionsReader;
287 class XerTaskReader;
288 } // namespace Xer
289 namespace Xml
290 {
291 class BaselineNodeReader;
292 class ExtendedAttributeNodeReader;
293 class ProjectNodeReader;
294 class ProjectNodeWriter;
295 class ResourceAssignmentNodeReader;
296 class ResourceNodeReader;
297 class TaskLinksNodeReader;
298 class TaskNodeReader;
299 class TaskNodeWriter;
300 class XmlReader;
301 class XmlWriter;
302 } // namespace Xml
303 } // namespace IO
304 namespace Leveling
305 {
306 class LevelingAlgorithm;
307 class ResourceLeveler;
308 } // namespace Leveling
309 class LinkedTasksChain;
310 class LoadOptions;
311 class ManualState;
312 class MeteredLicenseManager;
313 enum class Month;
314 class NullableBool;
315 class OleObjectCollection;
316 class OutlineCodeDefinition;
317 class OutlineCodeDefinitionCollection;
318 class OutlineCodesSynchronizer;
319 class OutlineNumbersCalculator;
320 class ParseErrorArgs;
321 using ParseErrorCallback = System::MulticastDelegate<System::SharedPtr<System::Object>(System::SharedPtr<System::Object>, System::SharedPtr<Aspose::Tasks::ParseErrorArgs>)>;
322 class PercentCompleteCalculator;
323 class PrimaveraProjectProperties;
324 class PrimaveraProjectReader;
325 class PrimaveraReadOptions;
326 class ProjDateAdd;
327 class ProjDateDiff;
328 class ProjDateSub;
329 class ProjectFileInfo;
330 class ProjectFormatDetector;
331 class ProjectIntegrityValidator;
332 class ProjectReader;
333 class ProjectState;
334 class ProjectWorkUpdater;
335 namespace Properties
336 {
337 class BuiltInProjectPropertyCollection;
338 class CustomProjectPropertyCollection;
339 class ProjectPropertyCollection;
340 } // namespace Properties
341 template <typename> class PropertyContainer;
342 class RecalculatingStateContext;
343 namespace Recalculation
344 {
345 class TaskSplitCalculator;
346 } // namespace Recalculation
347 class RecurringTaskBuilder;
348 class RecurringTaskParameters;
349 class Resource;
350 class ResourceAssignment;
351 class ResourceAssignmentCollection;
352 class ResourceCollection;
353 namespace RiskAnalysis
354 {
355 class MonteCarloIteration;
356 namespace Reporting
357 {
358 class RiskReportBuilder;
359 } // namespace Reporting
360 } // namespace RiskAnalysis
361 namespace Rollup
362 {
363 class DurationExtendedAttributeComparer;
364 } // namespace Rollup
365 class SavedView;
366 namespace Saving
367 {
368 class CsvOptions;
369 class CsvWriter;
370 namespace Excel
371 {
372 namespace OpenXML
373 {
374 class XlsxWriter;
375 } // namespace OpenXML
376 } // namespace Excel
377 class GdHtmlWriter;
378 class HtmlCalendarExceptionTable;
379 class HtmlCalendarTable;
380 class HtmlResourceAssignmentBaseLineTable;
381 class HtmlResourceAssignmentTable;
382 class HtmlResourceBaseLineTable;
383 class HtmlResourceExtendedAttributesTable;
384 class HtmlResourceTable;
385 class HtmlTaskBaseLineTable;
386 class HtmlTaskExtendedAttributesTable;
387 class HtmlTaskTable;
388 class HtmlUtils;
389 class HtmlWriter;
390 class ImageWriter;
391 class LayoutBuilderFactory;
392 class MPPSaveOptions;
393 class MpxResourceModel;
394 class MpxTaskModel;
395 class MpxWriter;
396 class PdfWriter;
397 class PrimaveraActivityNodeWriter;
398 class PrimaveraAssignmentNodeWriter;
399 class PrimaveraP6XmlWriter;
400 class PrimaveraProjectNodeWriter;
401 class PrimaveraXerWriter;
402 class ReportSaveManager;
403 enum class SaveFileFormat;
404 class SaveManager;
405 class SaveOptions;
406 class SaveTemplateOptions;
407 class SimpleSaveOptions;
408 class SSWriter;
409 class SvgWriter;
410 class TemplateProjectLoader;
411 class TemplateWriter;
412 class TiffWriter;
413 class XamlWriter;
414 class XerAssignmentTable;
415 class XerCalendarTable;
416 class XerRelationTable;
417 class XerResourceRatesTable;
418 class XerResourceTable;
419 class XerTaskTable;
420 class XerWBSTable;
421 class XpsWriter;
422 } // namespace Saving
423 namespace Scheduling
424 {
425 class CriticalPathAlgorithm;
426 class FromFinishScheduler;
427 class FromStartScheduler;
428 class RescheduleAlgorithm;
429 class TopologicalSort;
430 class TopsortCriticalPath;
431 } // namespace Scheduling
432 template <typename T,typename V> using SetAction = System::MulticastDelegate<void(T, V)>;
433 class SharedAssignmentCollection;
434 class SplitsCalculator;
435 class TableCollection;
436 class Task;
437 class TaskBaseline;
438 class TaskCollection;
439 class TaskFieldsFormulaParser;
440 class TaskLink;
441 class TaskLinkCollection;
442 class TaskPlanner;
443 class TaskPlannerAssignmentManager;
444 enum class TaskStartDateType;
445 class TaskTreeBuilder;
446 enum class TaskType;
447 class TimelineView;
448 class TimephasedDataMaker;
449 enum class TimeUnitType : int8_t;
450 namespace Util
451 {
452 class CalculatedExtendedAttributeUtils;
453 class CalendarHelper;
454 class ExtendedAttributeChecker;
455 namespace Fields
456 {
457 class ProjectFieldToValue;
458 } // namespace Fields
459 class PrimaveraTasksProcessor;
460 class RateHelper;
461 class SavingUtils;
462 class TaskIdReEnumerator;
463 class TasksIdTracker;
464 } // namespace Util
465 namespace Validators
466 {
467 class TaskValidator;
468 } // namespace Validators
469 class VbaProject;
470 class View;
471 class ViewCollection;
472 namespace Visualization
473 {
474 template <typename> class ApsBaseChartBuilder;
475 class ApsGanttChartLayoutBuilder;
476 template <typename> class ApsLayoutBuilder;
477 class ApsReportBestPracticesAnalyzerBuilder;
478 class ApsReportBuilder;
479 class ApsReportBurndownBuilder;
480 class ApsReportCashFlowBuilder;
481 class ApsReportCostOverrunsBuilder;
482 class ApsReportCostOverviewBuilder;
483 class ApsReportLateTasksBuilder;
484 class ApsReportMilestonesBuilder;
485 class ApsReportProjectOverviewBuilder;
486 class ApsReportResourceCostOverviewBuilder;
487 class ApsReportSlippingTasksBuilder;
488 class ApsReportTaskCostOverviewBuilder;
489 class ApsReportUpcomingTasksBuilder;
490 class ApsReportWorkOverviewBuilder;
491 class ApsResourceSheetBuilder;
492 class ApsResourceUsageBuilder;
493 class AssignmentToColumnText;
494 template <typename> class FieldToColumnText;
495 class FontDescriptor;
496 class HeaderFooterTemplateFieldConverter;
497 class LegendItemsFlowLayoutBuilder;
498 enum class PageSize;
499 enum class PresentationFormat;
500 class ProjectView;
501 enum class ReportType;
502 class ResourceToColumnText;
503 class TaskToColumnText;
504 enum class Timescale;
505 } // namespace Visualization
506 class WbsCalculator;
507 class WBSCodeDefinition;
508 class WeekDayCollection;
509 } // namespace Tasks
510 } // namespace Aspose
511 namespace System
512 {
513 namespace Collections
514 {
515 namespace Generic
516 {
517 template <typename, typename> class Dictionary;
518 template <typename, typename> class IDictionary;
519 template <typename> class IEnumerable;
520 template <typename> class IList;
521 template <typename> class List;
522 } // namespace Generic
523 } // namespace Collections
524 namespace IO
525 {
526 class FileStream;
527 class Stream;
528 class StreamReader;
529 } // namespace IO
530 class TimeSpan;
531 } // namespace System
532 
533 namespace Aspose {
534 
535 namespace Tasks {
536 
537 /// <summary>
538 /// Represents a project.
539 /// </summary>
540 /// <remarks>
541 /// <p>The <b>Project</b> is a central class in the Aspose.Tasks library.</p>
542 /// One can use <b>Project</b> to read one of supported project management formats: MPP, MPT, MPX, XML.
543 /// <p>To load an existing document in any of the supported formats, pass a file name or a stream into one of the <b>Project</b> constructors. To create a blank project, call the parameterless constructor.</p>
544 /// <p>Use one of the Save method overloads to save the project in any of the <see cref="Aspose::Tasks::Saving::SaveFileFormat"></see> formats: Primavera: P6 XML, PM XER; Microsoft Excel: XLSX, XML; Fixed Layout: PDF; Images: JPEG, PNG, BMP, TIFF, SVG; Text: TXT; Others: HTML.</p>
545 /// <p>The <b>Project</b> stores project-wide information such as <see cref="Aspose::Tasks::Project::Views"></see>,
546 /// <see cref="Aspose::Tasks::Project::BuiltInProps"></see>, <see cref="Aspose::Tasks::Project::CustomProps"></see>, and <see cref="Aspose::Tasks::Project::ExtendedAttributes"></see>.
547 /// Most of these objects are accessible via the corresponding properties of the <b>Project</b> class.</p>
548 /// <p>The <b>Project</b> is a root entity that contains entry points to manipulate other project entities, such as <see cref="Aspose::Tasks::Task"></see>, <see cref="Aspose::Tasks::Resource"></see>, <see cref="Aspose::Tasks::ResourceAssignment"></see>, <see cref="Aspose::Tasks::ExtendedAttribute"></see> and <see cref="Aspose::Tasks::Calendar"></see>.</p>
549 /// The <b>Project</b> entities can be accessed via typed collections, for example <see cref="Aspose::Tasks::Task::Children"></see>, <see cref="Aspose::Tasks::Project::Resources"></see>, <see cref="Aspose::Tasks::Project::ResourceAssignments"></see>, etc.
550 /// </remarks>
551 class ASPOSE_TASKS_SHARED_CLASS Project : public Aspose::Tasks::IContainer<Aspose::Tasks::PrjKey>, public Aspose::LicenseV2::Venture::IVentureLicensed
552 {
553  typedef Project ThisType;
554  typedef Aspose::Tasks::IContainer<Aspose::Tasks::PrjKey> BaseType;
555  typedef Aspose::LicenseV2::Venture::IVentureLicensed BaseType1;
556 
557  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
558  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
559 
560  friend class Aspose::Tasks::Calculations::RescheduleIncompleteWorkCalculator;
561  friend class Aspose::Tasks::Calculations::ResourceOverAllocationCalculator;
562  friend class Aspose::Tasks::Calculations::ProjectCalculator;
563  friend class Aspose::Tasks::Calculations::ProjectWorkAndCostCalculator;
564  friend class Aspose::Tasks::Calculations::ResourceAssignmentCalculator;
565  friend class Aspose::Tasks::Calculations::ResourceAssignmentCostCalculator;
566  friend class Aspose::Tasks::Calculations::ResourceAssignmentWorkCalculator;
567  friend class Aspose::Tasks::Calculations::ResourceCalculator;
568  friend class Aspose::Tasks::Calculations::ResourceCostCalculator;
569  friend class Aspose::Tasks::Calculations::ResourceWorkCalculator;
570  friend class Aspose::Tasks::Calculations::TaskByAssignmentCalculator;
571  friend class Aspose::Tasks::Calculations::TaskCalculator;
572  friend class Aspose::Tasks::Calculations::ResourceAssignmentVarianceCalculator;
573  friend class Aspose::Tasks::Calculations::TaskSlackCalculator;
574  friend class Aspose::Tasks::Calculations::TaskWorkCalculator;
575  friend class Aspose::Tasks::Calendar;
577  friend class Aspose::Tasks::TaskFieldsFormulaParser;
578  friend class Aspose::Tasks::IO::PrimaveraXml::P6XmlUtils;
579  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraActivityNodeReader;
580  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraProjectNodeReader;
581  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraProjectScheduleOptionsNodeReader;
582  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraReader;
583  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraRelationshipNodeReader;
584  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraResourceNodeReader;
585  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraResourceRateNodeReader;
586  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectViewsMapper;
587  friend class Aspose::Tasks::IO::Xer::PrimaveraExtendedAttributeDefinitionBuilder;
588  friend class Aspose::Tasks::IO::Xer::PrimaveraExtendedAttributeLookupBuilder;
589  friend class Aspose::Tasks::IO::Xer::XerScheduleOptionsReader;
590  friend class Aspose::Tasks::IO::Xer::XerRecordValueReader;
591  friend class Aspose::Tasks::Leveling::LevelingAlgorithm;
593  friend class Aspose::LicenseV2::LicenseProperties;
594  friend class Aspose::Tasks::RecalculatingStateContext;
595  friend class Aspose::Tasks::Resource;
597  friend class Aspose::Tasks::Saving::TemplateProjectLoader;
598  friend class Aspose::Tasks::Task;
599  friend class Aspose::Tasks::Util::RateHelper;
600  friend class Aspose::Tasks::Util::SavingUtils;
601  friend class Aspose::Tasks::IO::MSProject::Mpp9DefaultWeekWorkingDaysWriter;
602  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectGuidPropertyMapper;
603  friend class Aspose::Tasks::IO::Pwa::InternalApi::InternalApiProjectWriter;
604  template<typename FT0> friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ExtendedAttributeParentEntityToRawValuesMapper;
605  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::CalendarToRawValuesMapper;
606  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ExtendedAttributeDefinitionToRawValuesMapper;
607  friend class Aspose::Tasks::IO::Pwa::InternalApi::InternalApiProjectSerializer;
608  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectRootMapper;
609  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::TaskLinkToRawValuesMapper;
610  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectToRawValuesMapper;
611  friend class Aspose::Tasks::CustomFieldTypeMap;
612  friend class Aspose::Tasks::EVCalculator;
615  friend class Aspose::Tasks::FormulaToken;
616  friend class Aspose::Tasks::ProjDateAdd;
617  friend class Aspose::Tasks::ProjDateDiff;
618  friend class Aspose::Tasks::ProjDateSub;
619  friend class Aspose::Tasks::View;
620  friend class Aspose::Tasks::Connectivity::MpdAssignmentBaselineMapper;
621  friend class Aspose::Tasks::Connectivity::MpdAssignmentMapper;
622  template<typename FT0> friend class Aspose::Tasks::Connectivity::MpdField;
623  friend class Aspose::Tasks::Connectivity::MpdExtendedAttributeDefinitionMapper;
624  friend class Aspose::Tasks::Connectivity::MpdOutlineCodeDefinitionMapper;
625  friend class Aspose::Tasks::Connectivity::MpdOutlineCodeFieldMapper;
626  friend class Aspose::Tasks::Connectivity::MpdReader;
627  friend class Aspose::Tasks::Connectivity::MpdResourceBaselineMapper;
628  friend class Aspose::Tasks::Connectivity::MpdTaskBaselineMapper;
629  friend class Aspose::Tasks::Connectivity::MpdTaskLinkMapper;
630  friend class Aspose::Tasks::Connectivity::MpdTaskMapper;
631  friend class Aspose::Tasks::Connectivity::MpdUtils;
632  friend class Aspose::Tasks::Connectivity::MspCalendarMapper;
633  friend class Aspose::Tasks::Connectivity::MspExtendedAttribute;
634  friend class Aspose::Tasks::Connectivity::MspDbReader;
635  friend class Aspose::Tasks::Connectivity::MspProjectPropsMapper;
636  friend class Aspose::Tasks::Connectivity::MspTaskLinksMapper;
637  friend class Aspose::Tasks::Connectivity::MspTaskMapper;
638  friend class Aspose::Tasks::Connectivity::PmCalendarMapper;
639  friend class Aspose::Tasks::Connectivity::PmProjectMapper;
640  friend class Aspose::Tasks::Connectivity::PmProjectTimeMapper;
641  friend class Aspose::Tasks::Connectivity::PmResourceRateMapper;
642  friend class Aspose::Tasks::Connectivity::PmTaskRelationMapper;
643  friend class Aspose::Tasks::Connectivity::PmWbsMapper;
644  friend class Aspose::Tasks::Connectivity::PrimaveraDbReader;
645  friend class Aspose::Tasks::IO::Html::HtmlCalendarExceptionsReader;
646  friend class Aspose::Tasks::IO::Html::HtmlCalendarTableReader;
647  friend class Aspose::Tasks::IO::Html::HtmlProjectTableReader;
648  friend class Aspose::Tasks::IO::Html::HtmlReadingUtils;
649  friend class Aspose::Tasks::IO::Html::HtmlResourceAssignmentBaseLineTableReader;
650  friend class Aspose::Tasks::IO::Html::HtmlResourceAssignmentTableReader;
651  friend class Aspose::Tasks::IO::Html::HtmlResourceBaseLineTableReader;
652  friend class Aspose::Tasks::IO::Html::HtmlResourceExtAttributesTableReader;
653  friend class Aspose::Tasks::IO::Html::HtmlResourceTableReader;
654  friend class Aspose::Tasks::IO::Html::HtmlTaskBaseLineTableReader;
655  friend class Aspose::Tasks::IO::Html::HtmlTaskExtAttributesTableReader;
656  friend class Aspose::Tasks::IO::Html::HtmlTaskTableReader;
657  friend class Aspose::Tasks::Visualization::LegendItemsFlowLayoutBuilder;
658  friend class Aspose::Tasks::IO::MSProject::MPPAssignmentExtendedAttributeReader;
659  friend class Aspose::Tasks::IO::MSProject::Mpp12CalendarReader;
660  friend class Aspose::Tasks::IO::MSProject::MPP9DefaultWeekWorkingDaysReader;
661  friend class Aspose::Tasks::IO::MSProject::MPP12ExtendedAttributeDefinitionReader;
662  friend class Aspose::Tasks::IO::MSProject::MPP12Reader;
663  friend class Aspose::Tasks::IO::MSProject::MPPReader;
664  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentReader;
665  friend class Aspose::Tasks::IO::MSProject::MPP12ResourceReader;
666  friend class Aspose::Tasks::IO::MSProject::MPPResourceReader;
667  friend class Aspose::Tasks::IO::MSProject::MPP12TaskReader;
668  friend class Aspose::Tasks::IO::MSProject::MPPTaskReader;
669  friend class Aspose::Tasks::IO::MSProject::Mpp12TaskTreeBuilder;
670  friend class Aspose::Tasks::IO::MSProject::MppWeekDayReader;
671  friend class Aspose::Tasks::IO::MSProject::MPP14As12TaskReader;
672  friend class Aspose::Tasks::IO::MSProject::MPP14As9TaskReader;
673  template<typename FT0> friend class Aspose::Tasks::IO::MSProject::MPP14AsXResourceAssignmentReader;
674  friend class Aspose::Tasks::IO::MSProject::MPP14ExtendedAttributeDefinitionReader;
675  friend class Aspose::Tasks::IO::MSProject::MPP14Reader;
676  friend class Aspose::Tasks::IO::MSProject::MPP14ResourceAssignmentReader;
677  friend class Aspose::Tasks::IO::MSProject::MPP14TaskReader;
678  friend class Aspose::Tasks::IO::MSProject::MPP12ResourceWriter;
679  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceWriter;
680  friend class Aspose::Tasks::IO::MSProject::Mpp15CalendarWriter;
681  friend class Aspose::Tasks::IO::MSProject::MPP14OutlineCodeDefinitionWriter;
682  friend class Aspose::Tasks::IO::MSProject::MPP15Reader;
683  friend class Aspose::Tasks::IO::MSProject::MPP14ResourceAssignmentWriter;
684  friend class Aspose::Tasks::IO::MSProject::MPP15ResourceWriter;
685  friend class Aspose::Tasks::IO::MSProject::MPP14ResourceWriter;
686  friend class Aspose::Tasks::IO::MSProject::MPP15TaskWriter;
687  friend class Aspose::Tasks::IO::MSProject::MPP14TaskWriter;
688  friend class Aspose::Tasks::IO::MSProject::MPPWriter;
689  friend class Aspose::Tasks::IO::MSProject::MPP9AssignmentExtendedAttributeReader;
690  friend class Aspose::Tasks::IO::MSProject::MPP9ExtendedAttributeDefinitionReader;
691  friend class Aspose::Tasks::IO::MSProject::MPP9ExtendedAttributeReader;
692  friend class Aspose::Tasks::IO::MSProject::MPPExtendedAttributeReader;
693  friend class Aspose::Tasks::IO::MSProject::MPP9Reader;
694  friend class Aspose::Tasks::IO::MSProject::MPPResourceAssignmentReader;
695  friend class Aspose::Tasks::IO::MSProject::MPP9TaskReader;
696  friend class Aspose::Tasks::IO::MSProject::Mpp9TaskTreeBuilder;
697  friend class Aspose::Tasks::IO::MSProject::Metadata::AssignmentExtendedAttributeFlagOffsets;
698  friend class Aspose::Tasks::IO::MSProject::MppCustomFieldsReader;
699  friend class Aspose::Tasks::IO::MSProject::MppProject;
700  friend class Aspose::Tasks::IO::MSProject::MPPProjectProps2Reader;
701  friend class Aspose::Tasks::IO::MSProject::MPPProjectPropsReader;
702  friend class Aspose::Tasks::IO::MSProject::MPPUtils;
703  friend class Aspose::Tasks::IO::MSProject::MPPAssignmentExtendedAttributeWriter;
704  friend class Aspose::Tasks::IO::MSProject::Mpp12CalendarWriter;
705  friend class Aspose::Tasks::IO::MSProject::MppCalendarWriter;
706  friend class Aspose::Tasks::IO::MSProject::MPPExtendedAttributeWriter;
707  friend class Aspose::Tasks::IO::MSProject::MPP12OutlineCodeDefinitionWriter;
708  friend class Aspose::Tasks::IO::MSProject::MPPOutlineCodeDefinitionWriter;
709  friend class Aspose::Tasks::IO::MSProject::MPP12ResourceAssignmentWriter;
710  friend class Aspose::Tasks::IO::MSProject::MPPResourceAssignmentWriter;
711  friend class Aspose::Tasks::IO::MSProject::MPPResourceWriter;
712  friend class Aspose::Tasks::IO::MSProject::MPPTaskLinksWriter;
713  friend class Aspose::Tasks::IO::MSProject::MPP12TaskWriter;
714  friend class Aspose::Tasks::IO::MSProject::MPPTaskWriter;
715  friend class Aspose::Tasks::IO::MSProject::MPP12Writer;
716  friend class Aspose::Tasks::IO::MSProject::MPP14As12AssnWriter;
717  friend class Aspose::Tasks::IO::MSProject::MPP14As12TaskWriter;
718  friend class Aspose::Tasks::IO::MSProject::MPP14As9AssnWriter;
719  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentWriter;
720  friend class Aspose::Tasks::IO::MSProject::Writers::MPP14As9TaskWriter;
721  friend class Aspose::Tasks::IO::MSProject::Writers::MPP9TaskWriter;
722  friend class Aspose::Tasks::IO::MSProject::MPP9AssignmentExtendedAttributeWriter;
723  friend class Aspose::Tasks::IO::MSProject::Mpp9CalendarWriter;
724  friend class Aspose::Tasks::IO::MSProject::MPP9ExtendedAttributeDefinitionWriter;
725  friend class Aspose::Tasks::IO::MSProject::MPP9OutlineCodeDefinitionWriter;
726  friend class Aspose::Tasks::IO::MSProject::MPP9Writer;
727  friend class Aspose::Tasks::IO::MSProject::MPPProjectProps2Writer;
728  friend class Aspose::Tasks::IO::MSProject::MPPProjectPropsWriter;
729  friend class Aspose::Tasks::IO::MSProject::Writers::MppSubprojectsWriter;
730  friend class Aspose::Tasks::IO::MSProject::MppSavedViewStateWriter;
731  friend class Aspose::Tasks::IO::MSProject::MppViewWriter;
732  friend class Aspose::Tasks::IO::MSProject::MPPGanttBarStyleWriter;
733  friend class Aspose::Tasks::IO::MSProject::TimelineViewWriter;
734  friend class Aspose::Tasks::IO::Mpx::MpxReader;
735  friend class Aspose::Tasks::TaskTreeBuilder;
736  friend class Aspose::Tasks::IO::Mpx::MPXRecord;
737  friend class Aspose::Tasks::IO::Mpx::MpxUtils;
738  friend class Aspose::Tasks::IO::Xer::XerPrimaveraReader;
739  friend class Aspose::Tasks::IO::Xer::PrimaveraExtendedAttributeBuilder;
740  friend class Aspose::Tasks::IO::Xer::XerProjectNormalizer;
741  friend class Aspose::Tasks::IO::Xer::XerProjectReader;
742  friend class Aspose::Tasks::IO::Xer::XerRecord;
743  friend class Aspose::Tasks::IO::Xer::XerRelationReader;
744  friend class Aspose::Tasks::IO::Xer::XerResourceRateReader;
745  friend class Aspose::Tasks::IO::Xer::XerRoleWithRates;
746  friend class Aspose::Tasks::IO::Xer::XerTaskReader;
747  friend class Aspose::Tasks::IO::Pwa::InternalApi::ExtendedAttributeValueReader;
748  friend class Aspose::Tasks::IO::Pwa::InternalApi::InternalApiProjectReader;
749  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ExtendedAttributeDefinitionMapper;
750  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectAssignmentsMapper;
751  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectCalendarsMapper;
752  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectResourcesMapper;
753  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectTasksMapper;
754  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectWeekDaysPropertyMapper;
755  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectCalendarGuidPropertyMapper;
756  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::TaskLinkEntityMapper;
757  friend class Aspose::Tasks::IO::Xml::BaselineNodeReader;
758  friend class Aspose::Tasks::IO::Xml::ExtendedAttributeNodeReader;
759  friend class Aspose::Tasks::IO::Xml::ProjectNodeReader;
760  friend class Aspose::Tasks::IO::Xml::ProjectNodeWriter;
761  friend class Aspose::Tasks::IO::Xml::ResourceAssignmentNodeReader;
762  friend class Aspose::Tasks::IO::Xml::ResourceNodeReader;
763  friend class Aspose::Tasks::IO::Xml::TaskLinksNodeReader;
764  friend class Aspose::Tasks::IO::Xml::TaskNodeReader;
765  friend class Aspose::Tasks::IO::Xml::TaskNodeWriter;
766  friend class Aspose::Tasks::IO::Xml::XmlReader;
767  friend class Aspose::Tasks::IO::Xml::XmlWriter;
768  friend class Aspose::Tasks::LinkedTasksChain;
770  friend class Aspose::Tasks::OutlineCodesSynchronizer;
771  friend class Aspose::Tasks::ProjectIntegrityValidator;
772  friend class Aspose::Tasks::ProjectReader;
773  friend class Aspose::Tasks::PrimaveraProjectReader;
774  friend class Aspose::Tasks::ProjectFormatDetector;
775  friend class Aspose::Tasks::AutoRecalculationState;
776  friend class Aspose::Tasks::ProjectState;
777  friend class Aspose::Tasks::DurationCalculator;
778  friend class Aspose::Tasks::EvaluationModeDatesResetter;
779  friend class Aspose::Tasks::TaskPlannerAssignmentManager;
780  friend class Aspose::Tasks::FixedDurationEffortDrivenTaskPlanner;
781  friend class Aspose::Tasks::TaskPlanner;
782  friend class Aspose::Tasks::ManualState;
783  friend class Aspose::Tasks::OutlineNumbersCalculator;
784  friend class Aspose::Tasks::PercentCompleteCalculator;
785  friend class Aspose::Tasks::ProjectCalculatedProperties;
786  friend class Aspose::Tasks::ProjectWorkUpdater;
787  friend class Aspose::Tasks::SplitsCalculator;
788  friend class Aspose::Tasks::Recalculation::TaskSplitCalculator;
789  friend class Aspose::Tasks::WbsCalculator;
790  friend class Aspose::Tasks::RecurringTaskBuilder;
792  friend class Aspose::Tasks::RiskAnalysis::MonteCarloIteration;
793  friend class Aspose::Tasks::RiskAnalysis::Reporting::RiskReportBuilder;
794  friend class Aspose::Tasks::Visualization::ApsReportBuilder;
795  friend class Aspose::Tasks::Rollup::DurationExtendedAttributeComparer;
797  friend class Aspose::Tasks::Saving::CsvWriter;
798  friend class Aspose::Tasks::Saving::Excel::OpenXML::XlsxWriter;
799  friend class Aspose::Tasks::Saving::SSWriter;
800  friend class Aspose::Tasks::Saving::GdHtmlWriter;
801  friend class Aspose::Tasks::Saving::HtmlCalendarExceptionTable;
802  friend class Aspose::Tasks::Saving::HtmlCalendarTable;
803  friend class Aspose::Tasks::Saving::HtmlResourceAssignmentBaseLineTable;
804  friend class Aspose::Tasks::Saving::HtmlResourceAssignmentTable;
805  friend class Aspose::Tasks::Saving::HtmlResourceBaseLineTable;
806  friend class Aspose::Tasks::Saving::HtmlResourceExtendedAttributesTable;
807  friend class Aspose::Tasks::Saving::HtmlResourceTable;
808  friend class Aspose::Tasks::Saving::HtmlTaskBaseLineTable;
809  friend class Aspose::Tasks::Saving::HtmlTaskExtendedAttributesTable;
810  friend class Aspose::Tasks::Saving::HtmlTaskTable;
811  friend class Aspose::Tasks::Saving::HtmlUtils;
813  friend class Aspose::Tasks::Saving::HtmlWriter;
814  friend class Aspose::Tasks::Saving::ImageWriter;
815  friend class Aspose::Tasks::Saving::TiffWriter;
816  friend class Aspose::Tasks::Saving::LayoutBuilderFactory;
818  friend class Aspose::Tasks::Saving::MpxResourceModel;
819  friend class Aspose::Tasks::Saving::MpxTaskModel;
820  friend class Aspose::Tasks::Saving::MpxWriter;
821  friend class Aspose::Tasks::Saving::PdfWriter;
822  friend class Aspose::Tasks::Saving::PrimaveraXerWriter;
823  friend class Aspose::Tasks::Saving::XerAssignmentTable;
824  friend class Aspose::Tasks::Saving::XerCalendarTable;
825  friend class Aspose::Tasks::Saving::XerRelationTable;
826  friend class Aspose::Tasks::Saving::XerResourceRatesTable;
827  friend class Aspose::Tasks::Saving::XerResourceTable;
828  friend class Aspose::Tasks::Saving::XerTaskTable;
829  friend class Aspose::Tasks::Saving::XerWBSTable;
830  friend class Aspose::Tasks::Saving::PrimaveraActivityNodeWriter;
831  friend class Aspose::Tasks::Saving::PrimaveraAssignmentNodeWriter;
832  friend class Aspose::Tasks::Saving::PrimaveraP6XmlWriter;
833  friend class Aspose::Tasks::Saving::PrimaveraProjectNodeWriter;
834  friend class Aspose::Tasks::Saving::SaveManager;
835  friend class Aspose::Tasks::Saving::ReportSaveManager;
836  friend class Aspose::Tasks::Saving::SvgWriter;
837  friend class Aspose::Tasks::Saving::TemplateWriter;
838  friend class Aspose::Tasks::Saving::XamlWriter;
839  friend class Aspose::Tasks::Saving::XpsWriter;
840  friend class Aspose::Tasks::Scheduling::CriticalPathAlgorithm;
841  friend class Aspose::Tasks::Scheduling::TopsortCriticalPath;
842  friend class Aspose::Tasks::Scheduling::FromFinishScheduler;
843  friend class Aspose::Tasks::Scheduling::RescheduleAlgorithm;
844  friend class Aspose::Tasks::Scheduling::FromStartScheduler;
845  friend class Aspose::Tasks::Scheduling::TopologicalSort;
846  friend class Aspose::Tasks::TaskBaseline;
847  friend class Aspose::Tasks::TaskCollection;
848  friend class Aspose::Tasks::TaskLink;
850  friend class Aspose::Tasks::TimephasedDataMaker;
851  friend class Aspose::Tasks::Util::CalculatedExtendedAttributeUtils;
852  friend class Aspose::Tasks::Util::CalendarHelper;
853  friend class Aspose::Tasks::Util::ExtendedAttributeChecker;
854  friend class Aspose::Tasks::Util::Fields::ProjectFieldToValue;
855  friend class Aspose::Tasks::Util::PrimaveraTasksProcessor;
856  friend class Aspose::Tasks::Util::TaskIdReEnumerator;
857  friend class Aspose::Tasks::Util::TasksIdTracker;
858  friend class Aspose::Tasks::Validators::TaskValidator;
859  template<typename FT0> friend class Aspose::Tasks::Visualization::ApsBaseChartBuilder;
860  template<typename FT0> friend class Aspose::Tasks::Visualization::ApsLayoutBuilder;
861  friend class Aspose::Tasks::Visualization::ApsGanttChartLayoutBuilder;
862  friend class Aspose::Tasks::Visualization::ApsResourceSheetBuilder;
863  friend class Aspose::Tasks::Visualization::ApsResourceUsageBuilder;
864  friend class Aspose::Tasks::Visualization::ApsReportBestPracticesAnalyzerBuilder;
865  friend class Aspose::Tasks::Visualization::ApsReportBurndownBuilder;
866  friend class Aspose::Tasks::Visualization::ApsReportCashFlowBuilder;
867  friend class Aspose::Tasks::Visualization::ApsReportCostOverrunsBuilder;
868  friend class Aspose::Tasks::Visualization::ApsReportCostOverviewBuilder;
869  friend class Aspose::Tasks::Visualization::ApsReportLateTasksBuilder;
870  friend class Aspose::Tasks::Visualization::ApsReportMilestonesBuilder;
871  friend class Aspose::Tasks::Visualization::ApsReportProjectOverviewBuilder;
872  friend class Aspose::Tasks::Visualization::ApsReportResourceCostOverviewBuilder;
873  friend class Aspose::Tasks::Visualization::ApsReportSlippingTasksBuilder;
874  friend class Aspose::Tasks::Visualization::ApsReportTaskCostOverviewBuilder;
875  friend class Aspose::Tasks::Visualization::ApsReportUpcomingTasksBuilder;
876  friend class Aspose::Tasks::Visualization::ApsReportWorkOverviewBuilder;
877  friend class Aspose::Tasks::Visualization::AssignmentToColumnText;
878  template<typename FT0> friend class Aspose::Tasks::Visualization::FieldToColumnText;
879  friend class Aspose::Tasks::Visualization::HeaderFooterTemplateFieldConverter;
881  friend class Aspose::Tasks::Visualization::ResourceToColumnText;
882  friend class Aspose::Tasks::Visualization::TaskToColumnText;
883 
884 public:
885 
886  /// <summary>
887  /// Gets default view of the project.
888  /// </summary>
889  ASPOSE_TASKS_SHARED_API System::SharedPtr<View> get_DefaultView();
890  /// <summary>
891  /// Sets default view of the project.
892  /// </summary>
893  ASPOSE_TASKS_SHARED_API void set_DefaultView(const System::SharedPtr<View>& value);
894  /// <summary>
895  /// Gets an instance of <see cref="VbaProject"></see> class.
896  /// </summary>
897  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Aspose::Tasks::VbaProject>& get_VbaProject() const;
898  /// <summary>
899  /// Gets an instance of the <see cref="ProjectDisplayOptions"></see> class.
900  /// </summary>
901  ASPOSE_TASKS_SHARED_API System::SharedPtr<ProjectDisplayOptions> get_DisplayOptions() const;
902  /// <summary>
903  /// Gets calculation mode of a project.
904  /// Can be one of the values of <see cref="CalculationMode"></see> enumeration.
905  /// </summary>
906  ASPOSE_TASKS_SHARED_API Aspose::Tasks::CalculationMode get_CalculationMode() const;
907  /// <summary>
908  /// Sets calculation mode of a project.
909  /// Can be one of the values of <see cref="CalculationMode"></see> enumeration.
910  /// </summary>
911  ASPOSE_TASKS_SHARED_API void set_CalculationMode(Aspose::Tasks::CalculationMode value);
912  /// <summary>
913  /// Gets the root of the tree of tasks.
914  /// </summary>
915  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Task>& get_RootTask() const;
916  /// <summary>
917  /// Gets <see cref="TaskLinkCollection"></see> object.
918  /// </summary>
919  ASPOSE_TASKS_SHARED_API const System::SharedPtr<TaskLinkCollection>& get_TaskLinks() const;
920  /// <summary>
921  /// Gets <see cref="CalendarCollection"></see> object of this Project instance.
922  /// </summary>
923  ASPOSE_TASKS_SHARED_API const System::SharedPtr<CalendarCollection>& get_Calendars() const;
924  /// <summary>
925  /// Gets ResourceCollection object.
926  /// </summary>
927  ASPOSE_TASKS_SHARED_API const System::SharedPtr<ResourceCollection>& get_Resources() const;
928  /// <summary>
929  /// Gets OutlineCodeDefinitionCollection object.
930  /// The collection of outline code definitions associated with a project.
931  /// </summary>
932  ASPOSE_TASKS_SHARED_API const System::SharedPtr<OutlineCodeDefinitionCollection>& get_OutlineCodes() const;
933  /// <summary>
934  /// Gets ResourceAssignmentCollection object.
935  /// </summary>
936  ASPOSE_TASKS_SHARED_API const System::SharedPtr<ResourceAssignmentCollection>& get_ResourceAssignments() const;
937  /// <summary>
938  /// Gets the instance of <see cref="WeekDayCollection"></see> class which represents a collection of project default week working days and working times.
939  /// </summary>
940  /// <remarks>The data contains only in mpp files (not in xml).</remarks>
941  /// <returns>The instance of <see cref="WeekDayCollection"></see> class which contains a list of <see cref="WeekDay"></see> objects.</returns>
942  ASPOSE_TASKS_SHARED_API const System::SharedPtr<WeekDayCollection>& get_DefaultWeekWorkingDays() const;
943  /// <summary>
944  /// Gets project's built-in properties collection.
945  /// </summary>
946  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Properties::BuiltInProjectPropertyCollection>& get_BuiltInProps() const;
947  /// <summary>
948  /// Gets project's custom properties collection.
949  /// </summary>
950  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Properties::CustomProjectPropertyCollection>& get_CustomProps() const;
951  /// <summary>
952  /// Gets ExtendedAttributeDefinitionCollection object.
953  /// The collection of extended attribute (custom fields) definitions associated with a project.
954  /// </summary>
955  ASPOSE_TASKS_SHARED_API const System::SharedPtr<ExtendedAttributeDefinitionCollection>& get_ExtendedAttributes() const;
956  /// <summary>
957  /// Gets a collection which contains a list of Critical tasks which comprise Critical Path of this project.
958  /// <remarks>This is an O(n) operation, where n is the number of tasks in the project.</remarks>
959  /// </summary>
960  /// <returns>a collection which represents a list of all critical tasks.</returns>
961  ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskCollection> get_CriticalPath();
962  /// <summary>
963  /// Gets all the task-based filter definitions.
964  /// TaskFilters is a collection of <see cref="Filter"></see> objects.
965  /// </summary>
966  ASPOSE_TASKS_SHARED_API System::SharedPtr<FilterCollection> get_TaskFilters();
967  /// <summary>
968  /// Gets all the resource-based filter definitions.
969  /// ResourceFilters is a collection of <see cref="Filter"></see> objects.
970  /// </summary>
971  ASPOSE_TASKS_SHARED_API System::SharedPtr<FilterCollection> get_ResourceFilters();
972  /// <summary>
973  /// Gets a list of <see cref="View"></see> objects.
974  /// </summary>
975  ASPOSE_TASKS_SHARED_API System::SharedPtr<ViewCollection> get_Views();
976  /// <summary>
977  /// Gets a list of <see cref="Table"></see> objects.
978  /// </summary>
979  ASPOSE_TASKS_SHARED_API System::SharedPtr<TableCollection> get_Tables();
980  /// <summary>
981  /// Gets all the task-based group definitions.
982  /// TaskGroups is a collection of <see cref="Group"></see> objects.
983  /// </summary>
984  ASPOSE_TASKS_SHARED_API System::SharedPtr<GroupCollection> get_TaskGroups();
985  /// <summary>
986  /// Gets all of the resource-based group definitions.
987  /// ResourceGroups is a collection of <see cref="Group"></see> objects.
988  /// </summary>
989  ASPOSE_TASKS_SHARED_API System::SharedPtr<GroupCollection> get_ResourceGroups();
990  /// <summary>
991  /// Gets WBS Code Definition for the project.
992  /// </summary>
993  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Aspose::Tasks::WBSCodeDefinition>& get_WBSCodeDefinition() const;
994  /// <summary>
995  /// Sets WBS Code Definition for the project.
996  /// </summary>
997  ASPOSE_TASKS_SHARED_API void set_WBSCodeDefinition(const System::SharedPtr<Aspose::Tasks::WBSCodeDefinition>& value);
998  /// <summary>
999  /// Gets a collection containing the instances of the <see cref="OleObject"></see> class which are linked or embedded to this project file.
1000  /// <remarks>Available for mpp file format only. This collection is read-only except for 'Clear' operation.</remarks>
1001  /// </summary>
1002  ASPOSE_TASKS_SHARED_API System::SharedPtr<OleObjectCollection> get_OleObjects() const;
1003  /// <summary>
1004  /// Gets an object containing Primavera-specific properties for a project read from Primavera file.
1005  /// </summary>
1006  ASPOSE_TASKS_SHARED_API const System::SharedPtr<PrimaveraProjectProperties>& get_PrimaveraProperties() const;
1007  /// <summary>
1008  /// Gets a value indicating whether ActualsInSync is set or not.
1009  /// </summary>
1010  ASPOSE_TASKS_SHARED_API NullableBool get_ActualsInSync();
1011  /// <summary>
1012  /// Sets a value indicating whether ActualsInSync is set or not.
1013  /// </summary>
1014  ASPOSE_TASKS_SHARED_API void set_ActualsInSync(NullableBool value);
1015  /// <summary>
1016  /// Gets a value indicating whether AdminProject is set or not.
1017  /// </summary>
1018  ASPOSE_TASKS_SHARED_API NullableBool get_AdminProject();
1019  /// <summary>
1020  /// Sets a value indicating whether AdminProject is set or not.
1021  /// </summary>
1022  ASPOSE_TASKS_SHARED_API void set_AdminProject(NullableBool value);
1023  /// <summary>
1024  /// Gets a value indicating whether AreEditableActualCosts is set or not.
1025  /// </summary>
1026  ASPOSE_TASKS_SHARED_API NullableBool get_AreEditableActualCosts();
1027  /// <summary>
1028  /// Sets a value indicating whether AreEditableActualCosts is set or not.
1029  /// </summary>
1030  ASPOSE_TASKS_SHARED_API void set_AreEditableActualCosts(NullableBool value);
1031  /// <summary>
1032  /// Gets a value of Author.
1033  /// </summary>
1034  ASPOSE_TASKS_SHARED_API System::String get_Author();
1035  /// <summary>
1036  /// Sets a value of Author.
1037  /// </summary>
1038  ASPOSE_TASKS_SHARED_API void set_Author(const System::String& value);
1039  /// <summary>
1040  /// Gets a value indicating whether AutoAddNewResourcesAndTasks is set or not.
1041  /// </summary>
1043  /// <summary>
1044  /// Sets a value indicating whether AutoAddNewResourcesAndTasks is set or not.
1045  /// </summary>
1046  ASPOSE_TASKS_SHARED_API void set_AutoAddNewResourcesAndTasks(NullableBool value);
1047  /// <summary>
1048  /// Gets a value indicating whether Autolink is set or not.
1049  /// </summary>
1050  ASPOSE_TASKS_SHARED_API NullableBool get_Autolink();
1051  /// <summary>
1052  /// Sets a value indicating whether Autolink is set or not.
1053  /// </summary>
1054  ASPOSE_TASKS_SHARED_API void set_Autolink(NullableBool value);
1055  /// <summary>
1056  /// Gets a value of BaselineForEarnedValue.
1057  /// </summary>
1058  ASPOSE_TASKS_SHARED_API BaselineType get_BaselineForEarnedValue();
1059  /// <summary>
1060  /// Sets a value of BaselineForEarnedValue.
1061  /// </summary>
1062  ASPOSE_TASKS_SHARED_API void set_BaselineForEarnedValue(BaselineType value);
1063  /// <summary>
1064  /// Gets a value of Calendar.
1065  /// </summary>
1066  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::Calendar> get_Calendar();
1067  /// <summary>
1068  /// Sets a value of Calendar.
1069  /// </summary>
1070  ASPOSE_TASKS_SHARED_API void set_Calendar(const System::SharedPtr<Aspose::Tasks::Calendar>& value);
1071  /// <summary>
1072  /// Gets a value of Category.
1073  /// </summary>
1074  ASPOSE_TASKS_SHARED_API System::String get_Category();
1075  /// <summary>
1076  /// Sets a value of Category.
1077  /// </summary>
1078  ASPOSE_TASKS_SHARED_API void set_Category(const System::String& value);
1079  /// <summary>
1080  /// Gets a value of Comments.
1081  /// </summary>
1082  ASPOSE_TASKS_SHARED_API System::String get_Comments();
1083  /// <summary>
1084  /// Sets a value of Comments.
1085  /// </summary>
1086  ASPOSE_TASKS_SHARED_API void set_Comments(const System::String& value);
1087  /// <summary>
1088  /// Gets a value of Company.
1089  /// </summary>
1090  ASPOSE_TASKS_SHARED_API System::String get_Company();
1091  /// <summary>
1092  /// Sets a value of Company.
1093  /// </summary>
1094  ASPOSE_TASKS_SHARED_API void set_Company(const System::String& value);
1095  /// <summary>
1096  /// Gets a value of CreationDate.
1097  /// </summary>
1098  ASPOSE_TASKS_SHARED_API System::DateTime get_CreationDate();
1099  /// <summary>
1100  /// Sets a value of CreationDate.
1101  /// </summary>
1102  ASPOSE_TASKS_SHARED_API void set_CreationDate(System::DateTime value);
1103  /// <summary>
1104  /// Gets a value of CriticalSlackLimit.
1105  /// </summary>
1106  ASPOSE_TASKS_SHARED_API int32_t get_CriticalSlackLimit();
1107  /// <summary>
1108  /// Sets a value of CriticalSlackLimit.
1109  /// </summary>
1110  ASPOSE_TASKS_SHARED_API void set_CriticalSlackLimit(int32_t value);
1111  /// <summary>
1112  /// Gets a value of CurrencyCode.
1113  /// </summary>
1114  ASPOSE_TASKS_SHARED_API System::String get_CurrencyCode();
1115  /// <summary>
1116  /// Sets a value of CurrencyCode.
1117  /// </summary>
1118  ASPOSE_TASKS_SHARED_API void set_CurrencyCode(const System::String& value);
1119  /// <summary>
1120  /// Gets a value of CurrencyDigits.
1121  /// </summary>
1122  ASPOSE_TASKS_SHARED_API int32_t get_CurrencyDigits();
1123  /// <summary>
1124  /// Sets a value of CurrencyDigits.
1125  /// </summary>
1126  ASPOSE_TASKS_SHARED_API void set_CurrencyDigits(int32_t value);
1127  /// <summary>
1128  /// Gets a value of CurrencySymbol.
1129  /// </summary>
1130  ASPOSE_TASKS_SHARED_API System::String get_CurrencySymbol();
1131  /// <summary>
1132  /// Sets a value of CurrencySymbol.
1133  /// </summary>
1134  ASPOSE_TASKS_SHARED_API void set_CurrencySymbol(const System::String& value);
1135  /// <summary>
1136  /// Gets a value of CurrencySymbolPosition.
1137  /// </summary>
1138  ASPOSE_TASKS_SHARED_API CurrencySymbolPositionType get_CurrencySymbolPosition();
1139  /// <summary>
1140  /// Sets a value of CurrencySymbolPosition.
1141  /// </summary>
1142  ASPOSE_TASKS_SHARED_API void set_CurrencySymbolPosition(CurrencySymbolPositionType value);
1143  /// <summary>
1144  /// Gets a value of CurrentDate.
1145  /// </summary>
1146  ASPOSE_TASKS_SHARED_API System::DateTime get_CurrentDate();
1147  /// <summary>
1148  /// Sets a value of CurrentDate.
1149  /// </summary>
1150  ASPOSE_TASKS_SHARED_API void set_CurrentDate(System::DateTime value);
1151  /// <summary>
1152  /// Gets a value of DateFormat.
1153  /// </summary>
1154  ASPOSE_TASKS_SHARED_API Aspose::Tasks::DateFormat get_DateFormat();
1155  /// <summary>
1156  /// Sets a value of DateFormat.
1157  /// </summary>
1158  ASPOSE_TASKS_SHARED_API void set_DateFormat(Aspose::Tasks::DateFormat value);
1159  /// <summary>
1160  /// Gets a value of CustomDateFormat.
1161  /// </summary>
1162  ASPOSE_TASKS_SHARED_API System::String get_CustomDateFormat();
1163  /// <summary>
1164  /// Sets a value of CustomDateFormat.
1165  /// </summary>
1166  ASPOSE_TASKS_SHARED_API void set_CustomDateFormat(const System::String& value);
1167  /// <summary>
1168  /// Gets a value of DaysPerMonth.
1169  /// </summary>
1170  ASPOSE_TASKS_SHARED_API int32_t get_DaysPerMonth();
1171  /// <summary>
1172  /// Sets a value of DaysPerMonth.
1173  /// </summary>
1174  ASPOSE_TASKS_SHARED_API void set_DaysPerMonth(int32_t value);
1175  /// <summary>
1176  /// Gets a value of DefaultFinishTime.
1177  /// </summary>
1178  ASPOSE_TASKS_SHARED_API System::DateTime get_DefaultFinishTime();
1179  /// <summary>
1180  /// Sets a value of DefaultFinishTime.
1181  /// </summary>
1182  ASPOSE_TASKS_SHARED_API void set_DefaultFinishTime(System::DateTime value);
1183  /// <summary>
1184  /// Gets a value of DefaultFixedCostAccrual.
1185  /// </summary>
1186  ASPOSE_TASKS_SHARED_API CostAccrualType get_DefaultFixedCostAccrual();
1187  /// <summary>
1188  /// Sets a value of DefaultFixedCostAccrual.
1189  /// </summary>
1190  ASPOSE_TASKS_SHARED_API void set_DefaultFixedCostAccrual(CostAccrualType value);
1191  /// <summary>
1192  /// Gets a value of DefaultOvertimeRate.
1193  /// </summary>
1194  ASPOSE_TASKS_SHARED_API double get_DefaultOvertimeRate();
1195  /// <summary>
1196  /// Sets a value of DefaultOvertimeRate.
1197  /// </summary>
1198  ASPOSE_TASKS_SHARED_API void set_DefaultOvertimeRate(double value);
1199  /// <summary>
1200  /// Gets a value of DefaultStandardRate.
1201  /// </summary>
1202  ASPOSE_TASKS_SHARED_API double get_DefaultStandardRate();
1203  /// <summary>
1204  /// Sets a value of DefaultStandardRate.
1205  /// </summary>
1206  ASPOSE_TASKS_SHARED_API void set_DefaultStandardRate(double value);
1207  /// <summary>
1208  /// Gets a value of DefaultStartTime.
1209  /// </summary>
1210  ASPOSE_TASKS_SHARED_API System::DateTime get_DefaultStartTime();
1211  /// <summary>
1212  /// Sets a value of DefaultStartTime.
1213  /// </summary>
1214  ASPOSE_TASKS_SHARED_API void set_DefaultStartTime(System::DateTime value);
1215  /// <summary>
1216  /// Gets a value of DefaultTaskEVMethod.
1217  /// </summary>
1218  ASPOSE_TASKS_SHARED_API EarnedValueMethodType get_DefaultTaskEVMethod();
1219  /// <summary>
1220  /// Sets a value of DefaultTaskEVMethod.
1221  /// </summary>
1222  ASPOSE_TASKS_SHARED_API void set_DefaultTaskEVMethod(EarnedValueMethodType value);
1223  /// <summary>
1224  /// Gets a value of DefaultTaskType.
1225  /// </summary>
1226  ASPOSE_TASKS_SHARED_API TaskType get_DefaultTaskType();
1227  /// <summary>
1228  /// Sets a value of DefaultTaskType.
1229  /// </summary>
1230  ASPOSE_TASKS_SHARED_API void set_DefaultTaskType(TaskType value);
1231  /// <summary>
1232  /// Gets a value of DurationFormat.
1233  /// </summary>
1234  ASPOSE_TASKS_SHARED_API TimeUnitType get_DurationFormat();
1235  /// <summary>
1236  /// Sets a value of DurationFormat.
1237  /// </summary>
1238  ASPOSE_TASKS_SHARED_API void set_DurationFormat(TimeUnitType value);
1239  /// <summary>
1240  /// Gets a value of EarnedValueMethod.
1241  /// </summary>
1242  ASPOSE_TASKS_SHARED_API EarnedValueMethodType get_EarnedValueMethod();
1243  /// <summary>
1244  /// Sets a value of EarnedValueMethod.
1245  /// </summary>
1246  ASPOSE_TASKS_SHARED_API void set_EarnedValueMethod(EarnedValueMethodType value);
1247  /// <summary>
1248  /// Gets a value of ExtendedCreationDate.
1249  /// </summary>
1250  ASPOSE_TASKS_SHARED_API System::DateTime get_ExtendedCreationDate();
1251  /// <summary>
1252  /// Sets a value of ExtendedCreationDate.
1253  /// </summary>
1254  ASPOSE_TASKS_SHARED_API void set_ExtendedCreationDate(System::DateTime value);
1255  /// <summary>
1256  /// Gets a value of FinishDate.
1257  /// </summary>
1258  ASPOSE_TASKS_SHARED_API System::DateTime get_FinishDate();
1259  /// <summary>
1260  /// Sets a value of FinishDate.
1261  /// </summary>
1262  ASPOSE_TASKS_SHARED_API void set_FinishDate(System::DateTime value);
1263  /// <summary>
1264  /// Gets a value indicating whether FiscalYearStart is set or not.
1265  /// </summary>
1266  ASPOSE_TASKS_SHARED_API NullableBool get_FiscalYearStart();
1267  /// <summary>
1268  /// Sets a value indicating whether FiscalYearStart is set or not.
1269  /// </summary>
1270  ASPOSE_TASKS_SHARED_API void set_FiscalYearStart(NullableBool value);
1271  /// <summary>
1272  /// Gets a value of FyStartDate.
1273  /// </summary>
1274  ASPOSE_TASKS_SHARED_API Month get_FyStartDate();
1275  /// <summary>
1276  /// Sets a value of FyStartDate.
1277  /// </summary>
1278  ASPOSE_TASKS_SHARED_API void set_FyStartDate(Month value);
1279  /// <summary>
1280  /// Gets a value indicating whether HonorConstraints is set or not.
1281  /// </summary>
1282  ASPOSE_TASKS_SHARED_API NullableBool get_HonorConstraints();
1283  /// <summary>
1284  /// Sets a value indicating whether HonorConstraints is set or not.
1285  /// </summary>
1286  ASPOSE_TASKS_SHARED_API void set_HonorConstraints(NullableBool value);
1287  /// <summary>
1288  /// Gets a value of HyperlinkBase.
1289  /// </summary>
1290  ASPOSE_TASKS_SHARED_API System::String get_HyperlinkBase();
1291  /// <summary>
1292  /// Sets a value of HyperlinkBase.
1293  /// </summary>
1294  ASPOSE_TASKS_SHARED_API void set_HyperlinkBase(const System::String& value);
1295  /// <summary>
1296  /// Gets a value indicating whether InsertedProjectsLikeSummary is set or not.
1297  /// </summary>
1299  /// <summary>
1300  /// Sets a value indicating whether InsertedProjectsLikeSummary is set or not.
1301  /// </summary>
1302  ASPOSE_TASKS_SHARED_API void set_InsertedProjectsLikeSummary(NullableBool value);
1303  /// <summary>
1304  /// Gets a value indicating whether KeepTaskOnNearestWorkingTimeWhenMadeAutoScheduled is set or not.
1305  /// </summary>
1307  /// <summary>
1308  /// Sets a value indicating whether KeepTaskOnNearestWorkingTimeWhenMadeAutoScheduled is set or not.
1309  /// </summary>
1311  /// <summary>
1312  /// Gets a value of Keywords.
1313  /// </summary>
1314  ASPOSE_TASKS_SHARED_API System::String get_Keywords();
1315  /// <summary>
1316  /// Sets a value of Keywords.
1317  /// </summary>
1318  ASPOSE_TASKS_SHARED_API void set_Keywords(const System::String& value);
1319  /// <summary>
1320  /// Gets a value of LastAuthor.
1321  /// </summary>
1322  ASPOSE_TASKS_SHARED_API System::String get_LastAuthor();
1323  /// <summary>
1324  /// Sets a value of LastAuthor.
1325  /// </summary>
1326  ASPOSE_TASKS_SHARED_API void set_LastAuthor(const System::String& value);
1327  /// <summary>
1328  /// Gets a value of LastPrinted.
1329  /// </summary>
1330  ASPOSE_TASKS_SHARED_API System::DateTime get_LastPrinted();
1331  /// <summary>
1332  /// Sets a value of LastPrinted.
1333  /// </summary>
1334  ASPOSE_TASKS_SHARED_API void set_LastPrinted(System::DateTime value);
1335  /// <summary>
1336  /// Gets a value of LastSaved.
1337  /// </summary>
1338  ASPOSE_TASKS_SHARED_API System::DateTime get_LastSaved();
1339  /// <summary>
1340  /// Sets a value of LastSaved.
1341  /// </summary>
1342  ASPOSE_TASKS_SHARED_API void set_LastSaved(System::DateTime value);
1343  /// <summary>
1344  /// Gets a value of Manager.
1345  /// </summary>
1346  ASPOSE_TASKS_SHARED_API System::String get_Manager();
1347  /// <summary>
1348  /// Sets a value of Manager.
1349  /// </summary>
1350  ASPOSE_TASKS_SHARED_API void set_Manager(const System::String& value);
1351  /// <summary>
1352  /// Gets a value indicating whether MicrosoftProjectServerURL is set or not.
1353  /// </summary>
1354  ASPOSE_TASKS_SHARED_API NullableBool get_MicrosoftProjectServerURL();
1355  /// <summary>
1356  /// Sets a value indicating whether MicrosoftProjectServerURL is set or not.
1357  /// </summary>
1358  ASPOSE_TASKS_SHARED_API void set_MicrosoftProjectServerURL(NullableBool value);
1359  /// <summary>
1360  /// Gets a value of MinutesPerDay.
1361  /// </summary>
1362  ASPOSE_TASKS_SHARED_API int32_t get_MinutesPerDay();
1363  /// <summary>
1364  /// Sets a value of MinutesPerDay.
1365  /// </summary>
1366  ASPOSE_TASKS_SHARED_API void set_MinutesPerDay(int32_t value);
1367  /// <summary>
1368  /// Gets a value of MinutesPerWeek.
1369  /// </summary>
1370  ASPOSE_TASKS_SHARED_API int32_t get_MinutesPerWeek();
1371  /// <summary>
1372  /// Sets a value of MinutesPerWeek.
1373  /// </summary>
1374  ASPOSE_TASKS_SHARED_API void set_MinutesPerWeek(int32_t value);
1375  /// <summary>
1376  /// Gets a value indicating whether MoveCompletedEndsBack is set or not.
1377  /// </summary>
1378  ASPOSE_TASKS_SHARED_API NullableBool get_MoveCompletedEndsBack();
1379  /// <summary>
1380  /// Sets a value indicating whether MoveCompletedEndsBack is set or not.
1381  /// </summary>
1382  ASPOSE_TASKS_SHARED_API void set_MoveCompletedEndsBack(NullableBool value);
1383  /// <summary>
1384  /// Gets a value indicating whether MoveCompletedEndsForward is set or not.
1385  /// </summary>
1386  ASPOSE_TASKS_SHARED_API NullableBool get_MoveCompletedEndsForward();
1387  /// <summary>
1388  /// Sets a value indicating whether MoveCompletedEndsForward is set or not.
1389  /// </summary>
1390  ASPOSE_TASKS_SHARED_API void set_MoveCompletedEndsForward(NullableBool value);
1391  /// <summary>
1392  /// Gets a value indicating whether MoveRemainingStartsBack is set or not.
1393  /// </summary>
1394  ASPOSE_TASKS_SHARED_API NullableBool get_MoveRemainingStartsBack();
1395  /// <summary>
1396  /// Sets a value indicating whether MoveRemainingStartsBack is set or not.
1397  /// </summary>
1398  ASPOSE_TASKS_SHARED_API void set_MoveRemainingStartsBack(NullableBool value);
1399  /// <summary>
1400  /// Gets a value indicating whether MoveRemainingStartsForward is set or not.
1401  /// </summary>
1403  /// <summary>
1404  /// Sets a value indicating whether MoveRemainingStartsForward is set or not.
1405  /// </summary>
1406  ASPOSE_TASKS_SHARED_API void set_MoveRemainingStartsForward(NullableBool value);
1407  /// <summary>
1408  /// Gets a value indicating whether MultipleCriticalPaths is set or not.
1409  /// </summary>
1410  ASPOSE_TASKS_SHARED_API NullableBool get_MultipleCriticalPaths();
1411  /// <summary>
1412  /// Sets a value indicating whether MultipleCriticalPaths is set or not.
1413  /// </summary>
1414  ASPOSE_TASKS_SHARED_API void set_MultipleCriticalPaths(NullableBool value);
1415  /// <summary>
1416  /// Gets a value of Name.
1417  /// </summary>
1418  ASPOSE_TASKS_SHARED_API System::String get_Name();
1419  /// <summary>
1420  /// Sets a value of Name.
1421  /// </summary>
1422  ASPOSE_TASKS_SHARED_API void set_Name(const System::String& value);
1423  /// <summary>
1424  /// Gets a value indicating whether NewTasksAreManual is set or not.
1425  /// </summary>
1426  ASPOSE_TASKS_SHARED_API NullableBool get_NewTasksAreManual();
1427  /// <summary>
1428  /// Sets a value indicating whether NewTasksAreManual is set or not.
1429  /// </summary>
1430  ASPOSE_TASKS_SHARED_API void set_NewTasksAreManual(NullableBool value);
1431  /// <summary>
1432  /// Gets a value indicating whether NewTasksEffortDriven is set or not.
1433  /// </summary>
1434  ASPOSE_TASKS_SHARED_API NullableBool get_NewTasksEffortDriven();
1435  /// <summary>
1436  /// Sets a value indicating whether NewTasksEffortDriven is set or not.
1437  /// </summary>
1438  ASPOSE_TASKS_SHARED_API void set_NewTasksEffortDriven(NullableBool value);
1439  /// <summary>
1440  /// Gets a value indicating whether NewTasksEstimated is set or not.
1441  /// </summary>
1442  ASPOSE_TASKS_SHARED_API NullableBool get_NewTasksEstimated();
1443  /// <summary>
1444  /// Sets a value indicating whether NewTasksEstimated is set or not.
1445  /// </summary>
1446  ASPOSE_TASKS_SHARED_API void set_NewTasksEstimated(NullableBool value);
1447  /// <summary>
1448  /// Gets a value of NewTaskStartDate.
1449  /// </summary>
1450  ASPOSE_TASKS_SHARED_API TaskStartDateType get_NewTaskStartDate();
1451  /// <summary>
1452  /// Sets a value of NewTaskStartDate.
1453  /// </summary>
1454  ASPOSE_TASKS_SHARED_API void set_NewTaskStartDate(TaskStartDateType value);
1455  /// <summary>
1456  /// Gets a value indicating whether ProjectExternallyEdited is set or not.
1457  /// </summary>
1458  ASPOSE_TASKS_SHARED_API NullableBool get_ProjectExternallyEdited();
1459  /// <summary>
1460  /// Sets a value indicating whether ProjectExternallyEdited is set or not.
1461  /// </summary>
1462  ASPOSE_TASKS_SHARED_API void set_ProjectExternallyEdited(NullableBool value);
1463  /// <summary>
1464  /// Gets a value indicating whether RemoveFileProperties is set or not.
1465  /// </summary>
1466  ASPOSE_TASKS_SHARED_API NullableBool get_RemoveFileProperties();
1467  /// <summary>
1468  /// Sets a value indicating whether RemoveFileProperties is set or not.
1469  /// </summary>
1470  ASPOSE_TASKS_SHARED_API void set_RemoveFileProperties(NullableBool value);
1471  /// <summary>
1472  /// Gets a value of Revision.
1473  /// </summary>
1474  ASPOSE_TASKS_SHARED_API int32_t get_Revision();
1475  /// <summary>
1476  /// Sets a value of Revision.
1477  /// </summary>
1478  ASPOSE_TASKS_SHARED_API void set_Revision(int32_t value);
1479  /// <summary>
1480  /// Gets a value of SaveVersion.
1481  /// </summary>
1482  ASPOSE_TASKS_SHARED_API int32_t get_SaveVersion();
1483  /// <summary>
1484  /// Sets a value of SaveVersion.
1485  /// </summary>
1486  ASPOSE_TASKS_SHARED_API void set_SaveVersion(int32_t value);
1487  /// <summary>
1488  /// Gets a value indicating whether ScheduleFromStart is set or not.
1489  /// </summary>
1490  ASPOSE_TASKS_SHARED_API NullableBool get_ScheduleFromStart();
1491  /// <summary>
1492  /// Sets a value indicating whether ScheduleFromStart is set or not.
1493  /// </summary>
1494  ASPOSE_TASKS_SHARED_API void set_ScheduleFromStart(NullableBool value);
1495  /// <summary>
1496  /// Gets a value indicating whether ShowProjectSummaryTask is set or not.
1497  /// </summary>
1498  ASPOSE_TASKS_SHARED_API bool get_ShowProjectSummaryTask();
1499  /// <summary>
1500  /// Sets a value indicating whether ShowProjectSummaryTask is set or not.
1501  /// </summary>
1502  ASPOSE_TASKS_SHARED_API void set_ShowProjectSummaryTask(bool value);
1503  /// <summary>
1504  /// Gets a value indicating whether SplitsInProgressTasks is set or not.
1505  /// </summary>
1506  ASPOSE_TASKS_SHARED_API NullableBool get_SplitsInProgressTasks();
1507  /// <summary>
1508  /// Sets a value indicating whether SplitsInProgressTasks is set or not.
1509  /// </summary>
1510  ASPOSE_TASKS_SHARED_API void set_SplitsInProgressTasks(NullableBool value);
1511  /// <summary>
1512  /// Gets a value indicating whether SpreadActualCost is set or not.
1513  /// </summary>
1514  ASPOSE_TASKS_SHARED_API NullableBool get_SpreadActualCost();
1515  /// <summary>
1516  /// Sets a value indicating whether SpreadActualCost is set or not.
1517  /// </summary>
1518  ASPOSE_TASKS_SHARED_API void set_SpreadActualCost(NullableBool value);
1519  /// <summary>
1520  /// Gets a value indicating whether SpreadPercentComplete is set or not.
1521  /// </summary>
1522  ASPOSE_TASKS_SHARED_API NullableBool get_SpreadPercentComplete();
1523  /// <summary>
1524  /// Sets a value indicating whether SpreadPercentComplete is set or not.
1525  /// </summary>
1526  ASPOSE_TASKS_SHARED_API void set_SpreadPercentComplete(NullableBool value);
1527  /// <summary>
1528  /// Gets a value of StartDate.
1529  /// </summary>
1530  ASPOSE_TASKS_SHARED_API System::DateTime get_StartDate();
1531  /// <summary>
1532  /// Sets a value of StartDate.
1533  /// </summary>
1534  ASPOSE_TASKS_SHARED_API void set_StartDate(System::DateTime value);
1535  /// <summary>
1536  /// Gets a value of StatusDate.
1537  /// </summary>
1538  ASPOSE_TASKS_SHARED_API System::DateTime get_StatusDate();
1539  /// <summary>
1540  /// Sets a value of StatusDate.
1541  /// </summary>
1542  ASPOSE_TASKS_SHARED_API void set_StatusDate(System::DateTime value);
1543  /// <summary>
1544  /// Gets a value of Subject.
1545  /// </summary>
1546  ASPOSE_TASKS_SHARED_API System::String get_Subject();
1547  /// <summary>
1548  /// Sets a value of Subject.
1549  /// </summary>
1550  ASPOSE_TASKS_SHARED_API void set_Subject(const System::String& value);
1551  /// <summary>
1552  /// Gets a value indicating whether TaskUpdatesResource is set or not.
1553  /// </summary>
1554  ASPOSE_TASKS_SHARED_API NullableBool get_TaskUpdatesResource();
1555  /// <summary>
1556  /// Sets a value indicating whether TaskUpdatesResource is set or not.
1557  /// </summary>
1558  ASPOSE_TASKS_SHARED_API void set_TaskUpdatesResource(NullableBool value);
1559  /// <summary>
1560  /// Gets a value of Template.
1561  /// </summary>
1562  ASPOSE_TASKS_SHARED_API System::String get_Template();
1563  /// <summary>
1564  /// Sets a value of Template.
1565  /// </summary>
1566  ASPOSE_TASKS_SHARED_API void set_Template(const System::String& value);
1567  /// <summary>
1568  /// Gets a value of TimescaleFinish.
1569  /// </summary>
1570  ASPOSE_TASKS_SHARED_API System::DateTime get_TimescaleFinish();
1571  /// <summary>
1572  /// Sets a value of TimescaleFinish.
1573  /// </summary>
1574  ASPOSE_TASKS_SHARED_API void set_TimescaleFinish(System::DateTime value);
1575  /// <summary>
1576  /// Gets a value of TimescaleStart.
1577  /// </summary>
1578  ASPOSE_TASKS_SHARED_API System::DateTime get_TimescaleStart();
1579  /// <summary>
1580  /// Sets a value of TimescaleStart.
1581  /// </summary>
1582  ASPOSE_TASKS_SHARED_API void set_TimescaleStart(System::DateTime value);
1583  /// <summary>
1584  /// Gets a value of Title.
1585  /// </summary>
1586  ASPOSE_TASKS_SHARED_API System::String get_Title();
1587  /// <summary>
1588  /// Sets a value of Title.
1589  /// </summary>
1590  ASPOSE_TASKS_SHARED_API void set_Title(const System::String& value);
1591  /// <summary>
1592  /// Gets a value of Uid.
1593  /// </summary>
1594  ASPOSE_TASKS_SHARED_API System::String get_Uid();
1595  /// <summary>
1596  /// Sets a value of Uid.
1597  /// </summary>
1598  ASPOSE_TASKS_SHARED_API void set_Uid(const System::String& value);
1599  /// <summary>
1600  /// Gets a value indicating whether UpdateManuallyScheduledTasksWhenEditingLinks is set or not.
1601  /// </summary>
1603  /// <summary>
1604  /// Sets a value indicating whether UpdateManuallyScheduledTasksWhenEditingLinks is set or not.
1605  /// </summary>
1607  /// <summary>
1608  /// Gets a value of WeekStartDay.
1609  /// </summary>
1610  ASPOSE_TASKS_SHARED_API DayType get_WeekStartDay();
1611  /// <summary>
1612  /// Sets a value of WeekStartDay.
1613  /// </summary>
1614  ASPOSE_TASKS_SHARED_API void set_WeekStartDay(DayType value);
1615  /// <summary>
1616  /// Gets a value of WorkFormat.
1617  /// </summary>
1618  ASPOSE_TASKS_SHARED_API TimeUnitType get_WorkFormat();
1619  /// <summary>
1620  /// Sets a value of WorkFormat.
1621  /// </summary>
1622  ASPOSE_TASKS_SHARED_API void set_WorkFormat(TimeUnitType value);
1623  /// <summary>
1624  /// Gets a value of Guid.
1625  /// </summary>
1626  ASPOSE_TASKS_SHARED_API System::Guid get_Guid();
1627  /// <summary>
1628  /// Sets a value of Guid.
1629  /// </summary>
1630  ASPOSE_TASKS_SHARED_API void set_Guid(System::Guid value);
1631  /// <summary>
1632  /// Gets whether assignment cost and remaining cost should be auto calculated using assignment's work and resource rates.
1633  /// </summary>
1634  ASPOSE_TASKS_SHARED_API bool get_AutoCalculateAssignmentCosts();
1635  /// <summary>
1636  /// Sets whether assignment cost and remaining cost should be auto calculated using assignment's work and resource rates.
1637  /// </summary>
1638  ASPOSE_TASKS_SHARED_API void set_AutoCalculateAssignmentCosts(bool value);
1639 
1640  /// <summary>
1641  /// Initializes a new instance of the <see cref="Project"></see> class.
1642  /// </summary>
1643  ASPOSE_TASKS_SHARED_API Project();
1644  /// <summary>
1645  /// Initializes a new instance of the <see cref="Project"></see> class from a password protected template (existent mpp or mpt file).
1646  /// </summary>
1647  /// <param name="projectTemplate">Path to template to create project from.</param>
1648  /// <param name="protectionPassword">Protection password.</param>
1649  /// <remarks>Reading password protected files currently supported for MSP 2003 file format only.</remarks>
1650  ASPOSE_TASKS_SHARED_API Project(const System::String& projectTemplate, const System::String& protectionPassword);
1651  /// <summary>
1652  /// Initializes a new instance of the <see cref="Project"></see> class from a template (existent mpp or mpt file).
1653  /// </summary>
1654  /// <param name="projectTemplate">Path to template to create project from.</param>
1655  ASPOSE_TASKS_SHARED_API Project(const System::String& projectTemplate);
1656  /// <summary>
1657  /// Initializes a new instance of the <see cref="Project"></see> class from the Stream
1658  /// with the specified instance of the <see cref="PrimaveraReadOptions"></see> class.
1659  /// </summary>
1660  /// <param name="stream">Stream of the Project <see cref="System::IO::Stream"></see>class</param>
1661  /// <param name="options">the specified instance of the <see cref="PrimaveraReadOptions"></see>class which allows to customize reading of Primavera formats (XER or XML).</param>
1662  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<System::IO::Stream>& stream, const System::SharedPtr<PrimaveraReadOptions>& options);
1663  /// <summary>
1664  /// Initializes a new instance of the <see cref="Project"></see> class from a template (existent mpp or mpt file).
1665  /// </summary>
1666  /// <param name="projectTemplate">Path to template to create project from.</param>
1667  /// <param name="parseErrorHandler">the specified callback method to handle xml parse errors.</param>
1668  ASPOSE_TASKS_SHARED_API Project(const System::String& projectTemplate, ParseErrorCallback parseErrorHandler);
1669  /// <summary>
1670  /// Initializes a new instance of the <see cref="Project"></see> class from a stream.
1671  /// </summary>
1672  /// <param name="stream">Stream to load a template from.</param>
1673  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<System::IO::Stream>& stream);
1674  /// <summary>
1675  /// Initializes a new instance of the <see cref="Project"></see> class from a StreamReader instance.
1676  /// </summary>
1677  /// <param name="reader">The stream reader where to load a template from.</param>
1678  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<System::IO::StreamReader>& reader);
1679  /// <summary>
1680  /// Initializes a new instance of the <see cref="Project"></see> class from a template (existent MPP or MPT file)
1681  /// with the specified instance of the <see cref="PrimaveraReadOptions"></see> class.
1682  /// </summary>
1683  /// <param name="projectTemplate">Path to template to create project from</param>
1684  /// <param name="options">the specified instance of the <see cref="PrimaveraReadOptions"></see> class.</param>
1685  ASPOSE_TASKS_SHARED_API Project(const System::String& projectTemplate, const System::SharedPtr<PrimaveraReadOptions>& options);
1686  /// <summary>
1687  /// Initializes a new instance of the <see cref="Project"></see> class to read data from a database which is specified by the instance of the <see cref="DbSettings"></see> class.
1688  /// </summary>
1689  /// <param name="settings">the specified instance of the <see cref="DbSettings"></see> class.</param>
1690  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<Connectivity::DbSettings>& settings);
1691  /// <summary>
1692  /// Initializes a new instance of the <see cref="Project"></see> class from a template(existent mpp or mpt file).
1693  /// </summary>
1694  /// <param name="stream">Stream to load a template from.</param>
1695  /// <param name="parseErrorHandler">the specified callback method to handle xml parse errors.</param>
1696  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<System::IO::Stream>& stream, ParseErrorCallback parseErrorHandler);
1697  /// <summary>
1698  /// Initializes a new instance of the <see cref="Project"></see> class from a template(existent mpp or mpt file).
1699  /// </summary>
1700  /// <param name="stream">Stream to load a template from.</param>
1701  /// <param name="protectionPassword">Protection password.</param>
1702  /// <remarks>Reading password protected files currently supported for MSP 2003 file format only.</remarks>
1703  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<System::IO::Stream>& stream, const System::String& protectionPassword);
1704  /// <summary>
1705  /// Initializes a new instance of the <see cref="Project"></see> class from a template (existent mpp or mpt file)
1706  /// with the specified instance of the <see cref="LoadOptions"></see> class.
1707  /// </summary>
1708  /// <param name="projectTemplate">Path to template to create project from</param>
1709  /// <param name="options">the specified instance of the <see cref="LoadOptions"></see> class.</param>
1710  ASPOSE_TASKS_SHARED_API Project(const System::String& projectTemplate, const System::SharedPtr<LoadOptions>& options);
1711  /// <summary>
1712  /// Initializes a new instance of the <see cref="Project"></see> class from the Stream
1713  /// with the specified instance of the <see cref="LoadOptions"></see> class.
1714  /// </summary>
1715  /// <param name="stream">Stream of the Project <see cref="System::IO::Stream"></see>class</param>
1716  /// <param name="options">the specified instance of the <see cref="LoadOptions"></see>class</param>
1717  ASPOSE_TASKS_SHARED_API Project(const System::SharedPtr<System::IO::Stream>& stream, const System::SharedPtr<LoadOptions>& options);
1718 
1719  /// <summary>
1720  /// Recursively collects all child tasks of the root task.
1721  /// </summary>
1722  /// <returns>The collection of tasks.</returns>
1723  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<Task>>> SelectAllChildTasks();
1724  /// <summary>
1725  /// Recursively enumerates all project's tasks including root task.
1726  /// </summary>
1727  /// <returns>IEnumerable which can be used to iterate over all project's tasks.</returns>
1728  /// <remarks>Provides a more lightweight way to iterate over tasks compared to <see cref="SelectAllChildTasks"></see> method as it does not allocate memory for all tasks.</remarks>
1729  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<Task>>> EnumerateAllChildTasks();
1730  /// <summary>
1731  /// Read project file info from the file.
1732  /// </summary>
1733  /// <param name="filename">The project filename.</param>
1734  /// <returns>The project file info <see cref="Aspose::Tasks::ProjectFileInfo"></see>.</returns>
1735  static ASPOSE_TASKS_SHARED_API System::SharedPtr<ProjectFileInfo> GetProjectFileInfo(const System::String& filename);
1736  /// <summary>
1737  /// Gets project file info from the stream.
1738  /// </summary>
1739  /// <param name="stream">The data stream.</param>
1740  /// <returns>The project file info <see cref="Aspose::Tasks::ProjectFileInfo"></see>.</returns>
1741  static ASPOSE_TASKS_SHARED_API System::SharedPtr<ProjectFileInfo> GetProjectFileInfo(const System::SharedPtr<System::IO::Stream>& stream);
1742  /// <summary>
1743  /// Returns a collection of task links which are predecessors of the specified task.
1744  /// </summary>
1745  /// <param name="task">The task to get predecessors for.</param>
1746  /// <returns>List of predecessors <see cref="TaskLink"></see>.</returns>
1747  ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskLinkCollection> GetPredecessors(const System::SharedPtr<Task>& task);
1748  /// <summary>
1749  /// Returns the value to which the property is mapped in this container.
1750  /// </summary>
1751  /// <param name="key">the specified property key. <see cref="Prj"></see> for getting the property key.</param>
1752  /// <typeparam name="T">the type of the mapped value.</typeparam>
1753  /// <returns>the value to which the property is mapped in this container.</returns>
1754  template <typename T>
1755  T Get(const Key<T, PrjKey>& key) const
1756  {
1757  if (key.get_KeyType() == Aspose::Tasks::PrjKey::ShowProjectSummaryTask)
1758  {
1759  return System::ExplicitCast<T>(System::ExplicitCast<System::Object>(this->get_DisplayOptions()->get_ShowProjectSummaryTask()));
1760  }
1761 
1762  if (this->get_CanCalculate())
1763  {
1764  auto getter = System::ExplicitCast<Aspose::Tasks::CalculatedPropertyGetter<System::SharedPtr<Project>, T>>(ProjectCalculatedProperties::GetPropertyGetter(key.get_KeyType()));
1765  if (getter != nullptr)
1766  {
1767  return getter->get_GetAction()(System::MakeSharedPtr(this));
1768  }
1769  }
1770 
1771  return this->container->template CheckPropAndGet<T>(key);
1772  }
1773 
1774  /// <summary>
1775  /// Maps the specified property to the specified value in this container.
1776  /// </summary>
1777  /// <param name="key">the specified property key. <see cref="Prj"></see> for getting the property key.</param>
1778  /// <param name="val">the value.</param>
1779  /// <typeparam name="T">the type of the mapped value.</typeparam>
1780  template <typename T>
1781  void Set(const Key<T, PrjKey>& key, const T& val)
1782  {
1783  if (key.get_KeyType() == Aspose::Tasks::PrjKey::ShowProjectSummaryTask)
1784  {
1785  this->get_DisplayOptions()->set_ShowProjectSummaryTask(System::ExplicitCast<bool>(System::ExplicitCast<System::Object>(val)));
1786  return;
1787  }
1788 
1789  if (this->get_CanCalculate())
1790  {
1791  auto setter = System::ExplicitCast<Aspose::Tasks::CalculatedPropertySetter<System::SharedPtr<Project>, T>>(ProjectCalculatedProperties::GetPropertySetter(key.get_KeyType()));
1792 
1793  if (setter != nullptr)
1794  {
1795  setter->get_SetAction()(System::MakeSharedPtr(this), val);
1796  }
1797  else
1798  {
1799  this->container->template CheckPropAndSet<T>(key, val);
1800  }
1801  }
1802  else
1803  {
1804  this->container->template CheckPropAndSet<T>(key, val);
1805  }
1806  }
1807 
1808  /// <summary>
1809  /// Maps the specified property to the specified value in this container.
1810  /// </summary>
1811  /// <param name="key">the specified property key. <see cref="Prj"></see> for getting the property key.</param>
1812  /// <param name="val">the value.</param>
1813  ASPOSE_TASKS_SHARED_API void Set(const Key<System::DateTime, PrjKey>& key, const System::DateTime& val);
1814  /// <summary>
1815  /// Recalculates Start and Finish of resources.
1816  /// </summary>
1817  ASPOSE_TASKS_SHARED_API void RecalculateResourceStartFinish();
1818  /// <summary>
1819  /// Recalculates Id, Start and Finish of resources.
1820  /// </summary>
1821  ASPOSE_TASKS_SHARED_API void RecalculateResourceFields();
1822  /// <summary>
1823  /// Eliminates invalid resource assignments from the project resource assignments list.
1824  /// </summary>
1825  /// <remarks>MS Project creates an empty resource assignment for each task. Call the method to remove them.</remarks>
1826  ASPOSE_TASKS_SHARED_API void RemoveInvalidResourceAssignments();
1827  /// <summary>
1828  /// Returns the baseline save time.
1829  /// </summary>
1830  /// <param name="baselineNumber">The baseline's number <see cref="Aspose::Tasks::BaselineType"></see>.</param>
1831  /// <returns>The baseline's last save date and time.</returns>
1832  /// <remarks>Returns DateTime.MinValue if the baseline was not saved.</remarks>
1833  ASPOSE_TASKS_SHARED_API System::DateTime GetBaselineSaveTime(BaselineType baselineNumber);
1834  /// <summary>
1835  /// Sets the baseline save time.
1836  /// </summary>
1837  /// <param name="baselineNumber">The baseline's number <see cref="Aspose::Tasks::BaselineType"></see>.</param>
1838  /// <param name="value">The baseline's last save date and time.</param>
1839  /// <remarks>Set value to DateTime.MinValue if the baseline was not saved.</remarks>
1840  ASPOSE_TASKS_SHARED_API void SetBaselineSaveTime(BaselineType baselineNumber, System::DateTime value);
1841  /// <summary>
1842  /// Reschedules all project tasks ids, outline levels, start/finish dates, sets early/late dates, calculates slacks, work and cost fields.
1843  /// </summary>
1844  ASPOSE_TASKS_SHARED_API void Recalculate();
1845  /// <summary>
1846  /// Reschedules all project tasks ids, outline levels, start/finish dates, sets early/late dates, calculates slacks, work and cost fields with optional validation.
1847  /// </summary>
1848  /// <param name="validate">
1849  /// If true the validation of recalculation will be performed.
1850  /// What data is validated:
1851  /// At the moment only basic validation of task and task link date ranges is implemented.
1852  /// Task's date ranges (e.g. ActualStart - ActualFinish, EarlyStart - EarlyFinish, etc.) as well as Task Links dates will be checked against the date criteria that start date is less or equal than finish date.
1853  /// If any of conditions described above is failed then <see cref="RecalculationValidationException"></see> will be thrown.
1854  /// </param>
1855  ASPOSE_TASKS_SHARED_API void Recalculate(bool validate);
1856  /// <summary>
1857  /// Saves the document to a file using the specified save options.
1858  /// </summary>
1859  /// <param name="filename">The file name.</param>
1860  /// <param name="options">The save options.</param>
1861  ASPOSE_TASKS_SHARED_API void Save(const System::String& filename, const System::SharedPtr<Saving::SimpleSaveOptions>& options);
1862  /// <summary>
1863  /// Saves the project data to the file.
1864  /// </summary>
1865  /// <param name="filename">The file name.</param>
1866  /// <param name="format">The save file format.</param>
1867  ASPOSE_TASKS_SHARED_API void Save(const System::String& filename, Saving::SaveFileFormat format);
1868  /// <summary>
1869  /// Saves the project data to the file in mpp format.
1870  /// </summary>
1871  /// <param name="filename">The file name.</param>
1872  ASPOSE_TASKS_SHARED_API void Save(const System::String& filename);
1873  /// <summary>
1874  /// Saves the project to a stream using the specified save options.
1875  /// </summary>
1876  /// <param name="stream">The stream.</param>
1877  /// <param name="options">The save options.</param>
1878  ASPOSE_TASKS_SHARED_API void Save(const System::SharedPtr<System::IO::Stream>& stream, const System::SharedPtr<Saving::SimpleSaveOptions>& options);
1879  /// <summary>
1880  /// Saves the project data to the stream.
1881  /// </summary>
1882  /// <param name="stream">The stream.</param>
1883  /// <param name="format">the specified save file format.<see cref="SaveFileFormat"></see></param>
1884  ASPOSE_TASKS_SHARED_API void Save(const System::SharedPtr<System::IO::Stream>& stream, Saving::SaveFileFormat format);
1885  /// <summary>
1886  /// Saves the project overview report to the stream.
1887  /// </summary>
1888  /// <param name="stream">The stream to save project report to.</param>
1889  ASPOSE_TASKS_SHARED_API void SaveReport(const System::SharedPtr<System::IO::Stream>& stream);
1890  /// <summary>
1891  /// Saves the project overview report to PDF file.
1892  /// </summary>
1893  /// <param name="fileName">The file name.</param>
1894  ASPOSE_TASKS_SHARED_API void SaveReport(const System::String& fileName);
1895  /// <summary>
1896  /// Saves the project report of the specified type to the specified stream.
1897  /// </summary>
1898  /// <param name="stream">the specified stream to save project report to.</param>
1899  /// <param name="reportType">the specified report type.<see cref="ReportType"></see></param>
1900  ASPOSE_TASKS_SHARED_API void SaveReport(const System::SharedPtr<System::IO::Stream>& stream, Visualization::ReportType reportType);
1901  /// <summary>
1902  /// Saves the project report of the specified type in PDF format to the specified file path.
1903  /// </summary>
1904  /// <param name="fileName">the specified file name.</param>
1905  /// <param name="reportType">the specified report type.<see cref="ReportType"></see></param>
1906  ASPOSE_TASKS_SHARED_API void SaveReport(const System::String& fileName, Visualization::ReportType reportType);
1907  /// <summary>
1908  /// Saves the project as a template.
1909  /// </summary>
1910  /// <param name="fileName">The file name.</param>
1911  /// <param name="options">the specified save options <see cref="SaveTemplateOptions"></see>.</param>
1912  ASPOSE_TASKS_SHARED_API void SaveAsTemplate(const System::String& fileName, const System::SharedPtr<Saving::SaveTemplateOptions>& options);
1913  /// <summary>
1914  /// Saves the project as a template to the specified file path.
1915  /// </summary>
1916  /// <param name="fileName">the specified file name.</param>
1917  ASPOSE_TASKS_SHARED_API void SaveAsTemplate(const System::String& fileName);
1918  /// <summary>
1919  /// Saves the project as a template to a specified stream.
1920  /// </summary>
1921  /// <param name="stream">the specified stream to save the project to.</param>
1922  ASPOSE_TASKS_SHARED_API void SaveAsTemplate(const System::SharedPtr<System::IO::Stream>& stream);
1923  /// <summary>
1924  /// Saves the project as a template to a specified stream.
1925  /// </summary>
1926  /// <param name="stream">Stream to save the project template to.</param>
1927  /// <param name="options">the specified save options <see cref="SaveTemplateOptions"></see>.</param>
1928  ASPOSE_TASKS_SHARED_API void SaveAsTemplate(const System::SharedPtr<System::IO::Stream>& stream, const System::SharedPtr<Saving::SaveTemplateOptions>& options);
1929  /// <summary>
1930  /// Returns page count for the project to be rendered using given <see cref="SaveOptions"></see>.
1931  /// </summary>
1932  /// <param name="saveOptions">The save options to get page count for.</param>
1933  /// <returns>a page count to be rendered.</returns>
1934  /// <example>
1935  /// In this example instance of HtmlSaveOptions and the number of pages in resulting HTML is written to the console.
1936  /// <code>
1937  /// [C#]
1938  /// Project project = new Project(@"test.mpp");
1939  /// HtmlSaveOptions saveOptions = new HtmlSaveOptions
1940  /// {
1941  /// IncludeProjectNameInPageHeader = false,
1942  /// IncludeProjectNameInTitle = false,
1943  /// PageSize = PageSize.A4,
1944  /// Timescale = Timescale.Days,
1945  /// StartDate = project.Get(Prj.StartDate).Date,
1946  /// EndDate = project.Get(Prj.FinishDate).Date
1947  /// };
1948  ///
1949  /// Console.WriteLine(project.GetPageCount(saveOptions));
1950  /// </code>
1951  /// </example>
1952  ASPOSE_TASKS_SHARED_API int32_t GetPageCount(const System::SharedPtr<Saving::SaveOptions>& saveOptions);
1953  /// <summary>
1954  /// Returns page count for the project to be rendered using default <see cref="Timescale"></see>(Days).
1955  /// </summary>
1956  /// <returns>Page count to be rendered.</returns>
1957  ASPOSE_TASKS_SHARED_API int32_t GetPageCount();
1958  /// <summary>
1959  /// Returns page count for the project to be rendered using given <see cref="Timescale"></see>.
1960  /// </summary>
1961  /// <param name="scale">The scale to get page count for.</param>
1962  /// <returns>Page count to be rendered.</returns>
1963  ASPOSE_TASKS_SHARED_API int32_t GetPageCount(Visualization::Timescale scale);
1964  /// <summary>
1965  /// Returns page count for the project to be rendered using default <see cref="Timescale"></see>(Days) and given <see cref="PresentationFormat"></see>
1966  /// </summary>
1967  /// <param name="format">The format to get page count for.</param>
1968  /// <returns>Page count to be rendered.</returns>
1969  ASPOSE_TASKS_SHARED_API int32_t GetPageCount(Visualization::PresentationFormat format);
1970  /// <summary>
1971  /// Returns page count for the project to be rendered using given <see cref="Timescale"></see> and <see cref="PresentationFormat"></see>.
1972  /// </summary>
1973  /// <param name="format">The format to get page count for.</param>
1974  /// <param name="scale">The scale to get page count for.</param>
1975  /// <returns>a page count to be rendered.</returns>
1976  ASPOSE_TASKS_SHARED_API int32_t GetPageCount(Visualization::PresentationFormat format, Visualization::Timescale scale);
1977  /// <summary>
1978  /// Returns page count for the project to be rendered using given <see cref="Timescale"></see>, <see cref="PresentationFormat"></see> and date range.
1979  /// </summary>
1980  /// <param name="pageSize">The size to get page count for.</param>
1981  /// <param name="scale">The scale to get page count for.</param>
1982  /// <param name="startDate">The start date to get page count for.</param>
1983  /// <param name="endDate">The end date to get page count for.</param>
1984  /// <returns>Page count to be rendered.</returns>
1985  ASPOSE_TASKS_SHARED_API int32_t GetPageCount(Visualization::PageSize pageSize, Visualization::Timescale scale, System::DateTime startDate, System::DateTime endDate);
1986  /// <summary>
1987  /// Returns page count for the project to be rendered using given <see cref="Timescale"></see> and <see cref="PageSize"></see>.
1988  /// </summary>
1989  /// <param name="pageSize">The size to get page count for.</param>
1990  /// <param name="scale">The scale to get page count for.</param>
1991  /// <returns>Page count to be rendered.</returns>
1992  ASPOSE_TASKS_SHARED_API int32_t GetPageCount(Visualization::PageSize pageSize, Visualization::Timescale scale);
1993  /// <summary>
1994  /// Copies project's main data and properties to another project.
1995  /// </summary>
1996  /// <param name="another">Another project to copy data to.</param>
1997  ASPOSE_TASKS_SHARED_API void CopyTo(const System::SharedPtr<Project>& another);
1998  /// <summary>
1999  /// Copies project's main data and properties to another project.
2000  /// </summary>
2001  /// <param name="another">Another project to copy data to.</param>
2002  /// <param name="options">Copy options to control copy process.</param>
2003  ASPOSE_TASKS_SHARED_API void CopyTo(const System::SharedPtr<Project>& another, const System::SharedPtr<CopyToOptions>& options);
2004  /// <summary>
2005  /// Saves baseline fields to the specified baseline for the entire project.
2006  /// </summary>
2007  /// <param name="baselineType">The baseline type to save baseline data to.</param>
2008  ASPOSE_TASKS_SHARED_API void SetBaseline(BaselineType baselineType);
2009  /// <summary>
2010  /// Saves baseline fields to the specified baseline for the selected tasks.
2011  /// </summary>
2012  /// <param name="baselineType">The baseline type to save baseline data to.</param>
2013  /// <param name="taskCollection">List of tasks to save baseline data for.</param>
2014  ASPOSE_TASKS_SHARED_API void SetBaseline(BaselineType baselineType, const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<Task>>>& taskCollection);
2015  /// <summary>
2016  /// Updates all work as complete through a specified date for the entire project.
2017  /// </summary>
2018  /// <param name="completeThrough">The date to update work as completed through.</param>
2019  /// <param name="setZeroOrHundredPercentCompleteOnly">If set to true updates only those tasks as 100% complete whose finish date is before specified complete-through date.
2020  /// Otherwise, calculates a percentage complete value based on scheduled start and complete-through dates.</param>
2021  ASPOSE_TASKS_SHARED_API void UpdateProjectWorkAsComplete(System::DateTime completeThrough, bool setZeroOrHundredPercentCompleteOnly);
2022  /// <summary>
2023  /// Updates all work as complete through a specified date for the specified list of tasks.
2024  /// </summary>
2025  /// <param name="completeThrough">The date to update work as completed through.</param>
2026  /// <param name="setZeroOrHundredPercentCompleteOnly">If set to true updates only those tasks as 100% complete whose finish date is before specified complete-through date.
2027  /// Otherwise, calculates a percentage complete value based on scheduled start and complete-through dates.</param>
2028  /// <param name="taskCollection">List&lt;Task&gt; of tasks to update work for.</param>
2029  ASPOSE_TASKS_SHARED_API void UpdateProjectWorkAsComplete(System::DateTime completeThrough, bool setZeroOrHundredPercentCompleteOnly, const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Task>>>& taskCollection);
2030  /// <summary>
2031  /// Reschedules uncompleted project work to start after a specified date.
2032  /// </summary>
2033  /// <remarks>Ensure that Project.CanSplitsInProgressTasks flag is set to true before using this method.</remarks>
2034  /// <param name="after">The date to reschedule uncompleted work after.</param>
2035  ASPOSE_TASKS_SHARED_API void RescheduleUncompletedWorkToStartAfter(System::DateTime after);
2036  /// <summary>
2037  /// Reschedules uncompleted work for a specified list of tasks to start after a specified date.
2038  /// </summary>
2039  /// <remarks>Ensure that Project.CanSplitsInProgressTasks flag is set to true before using this method.</remarks>
2040  /// <param name="after">The date to reschedule uncompleted work after.</param>
2041  /// <param name="taskCollection">List&lt;Task&gt; of tasks to reschedule uncompleted work for.</param>
2042  ASPOSE_TASKS_SHARED_API void RescheduleUncompletedWorkToStartAfter(System::DateTime after, const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Task>>>& taskCollection);
2043  /// <summary>
2044  /// Renumber WBS code of all tasks.
2045  /// </summary>
2046  ASPOSE_TASKS_SHARED_API void RenumberWBSCode();
2047  /// <summary>
2048  /// Renumber WBS code of passed tasks.
2049  /// </summary>
2050  /// <param name="taskIds">Task identifiers to renumber WBS codes.</param>
2051  ASPOSE_TASKS_SHARED_API void RenumberWBSCode(const System::SharedPtr<System::Collections::Generic::List<int32_t>>& taskIds);
2052  /// <summary>
2053  /// Gets <see cref="Duration"></see> object with the specified number of units and default duration format which is defined in project's settings <see cref="Prj::DurationFormat"></see>.
2054  /// </summary>
2055  /// <param name="val">specified number of units.</param>
2056  /// <returns>Duration object.</returns>
2057  /// <remarks>This method should be used carefully because it returns different durations depending on Project.DurationFormat setting.
2058  /// For example, GetWork(1.0) will return 1 hour when Project.DurationFormat is TimeUnitType.Hour or 1 day if Project.DurationFormat is TimeUnitType.Day.
2059  /// </remarks>
2060  ASPOSE_TASKS_SHARED_API Duration GetDuration(double val);
2061  /// <summary>
2062  /// Gets <see cref="Duration"></see> object with the specified number of <see cref="TimeUnitType"></see> units.
2063  /// </summary>
2064  /// <param name="val">specified number of units.</param>
2065  /// <param name="timeUnit">specified TimeUnitType value.</param>
2066  /// <returns>Duration object.</returns>
2067  ASPOSE_TASKS_SHARED_API Duration GetDuration(double val, TimeUnitType timeUnit);
2068  /// <summary>
2069  /// Gets <see cref="Duration"></see> object with the specified <see cref="TimeSpan"></see> value and specified <see cref="TimeUnitType"></see> value.
2070  /// </summary>
2071  /// <param name="timeSpan">specified <see cref="TimeSpan"></see> value.</param>
2072  /// <param name="timeUnit">specified TimeUnitType value.</param>
2073  /// <returns>Duration object.</returns>
2074  ASPOSE_TASKS_SHARED_API Duration GetDuration(System::TimeSpan timeSpan, TimeUnitType timeUnit);
2075  /// <summary>
2076  /// Gets <see cref="Duration"></see> object with the specified <see cref="double"></see> value and default work format.
2077  /// </summary>
2078  /// <param name="val">specified double value.</param>
2079  /// <returns>Duration object.</returns>
2080  /// <remarks>This method should be used carefully because it returns different durations depending on Project.WorkFormat setting.
2081  /// For example, GetWork(1.0) will return 1 hour when Project.WorkFormat is TimeUnitType.Hour or 1 day if Project.WorkFormat is TimeUnitType.Day.
2082  /// </remarks>
2083  ASPOSE_TASKS_SHARED_API Duration GetWork(double val);
2084 
2085 protected:
2086 
2087  static ASPOSE_TASKS_SHARED_API Aspose::Tasks::CalculationMode& NewProjectCalculationMode();
2088 
2089  System::SharedPtr<Aspose::Tasks::Util::TasksIdTracker> TasksIdTracker;
2090 
2091  ASPOSE_TASKS_SHARED_API bool get_SkipRecalculationAfterSetLevelingDelay() const;
2092  ASPOSE_TASKS_SHARED_API void set_SkipRecalculationAfterSetLevelingDelay(bool value);
2093  /// <summary>
2094  /// Gets the root of the tree of tasks.
2095  /// </summary>
2096  ASPOSE_TASKS_SHARED_API void set_RootTask(const System::SharedPtr<Task>& value);
2097  /// <summary>
2098  /// Gets <see cref="TaskLinkCollection"></see> object.
2099  /// </summary>
2100  ASPOSE_TASKS_SHARED_API void set_TaskLinks(const System::SharedPtr<TaskLinkCollection>& value);
2101  /// <summary>
2102  /// Gets <see cref="CalendarCollection"></see> object of this Project instance.
2103  /// </summary>
2104  ASPOSE_TASKS_SHARED_API void set_Calendars(const System::SharedPtr<CalendarCollection>& value);
2105  /// <summary>
2106  /// Gets ResourceCollection object.
2107  /// </summary>
2108  ASPOSE_TASKS_SHARED_API void set_Resources(const System::SharedPtr<ResourceCollection>& value);
2109  /// <summary>
2110  /// Gets OutlineCodeDefinitionCollection object.
2111  /// The collection of outline code definitions associated with a project.
2112  /// </summary>
2113  ASPOSE_TASKS_SHARED_API void set_OutlineCodes(const System::SharedPtr<OutlineCodeDefinitionCollection>& value);
2114  /// <summary>
2115  /// Gets ResourceAssignmentCollection object.
2116  /// </summary>
2117  ASPOSE_TASKS_SHARED_API void set_ResourceAssignments(const System::SharedPtr<ResourceAssignmentCollection>& value);
2118  /// <summary>
2119  /// Gets the instance of <see cref="WeekDayCollection"></see> class which represents a collection of project default week working days and working times.
2120  /// </summary>
2121  /// <remarks>The data contains only in mpp files (not in xml).</remarks>
2122  /// <param name="value">The instance of <see cref="WeekDayCollection"></see> class which contains a list of <see cref="WeekDay"></see> objects.</param>
2123  ASPOSE_TASKS_SHARED_API void set_DefaultWeekWorkingDays(const System::SharedPtr<WeekDayCollection>& value);
2124  /// <summary>
2125  /// Gets ExtendedAttributeDefinitionCollection object.
2126  /// The collection of extended attribute (custom fields) definitions associated with a project.
2127  /// </summary>
2128  ASPOSE_TASKS_SHARED_API void set_ExtendedAttributes(const System::SharedPtr<ExtendedAttributeDefinitionCollection>& value);
2129  /// <summary>
2130  /// Gets an object containing Primavera-specific properties for a project read from Primavera file.
2131  /// </summary>
2132  ASPOSE_TASKS_SHARED_API void set_PrimaveraProperties(const System::SharedPtr<PrimaveraProjectProperties>& value);
2133  /// <summary>
2134  /// Gets project's properties collection.
2135  /// </summary>
2136  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Properties::ProjectPropertyCollection>& get_Properties() const;
2137 
2138  /// <summary>
2139  /// Unlike native tasks, external tasks did not stored in project's task collection.
2140  /// In C++ TaskLink objects keep PredTask and SuccTask as weak references.
2141  /// This list is to keep alive TaskLink's references to external tasks
2142  /// </summary>
2143  System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Task>>> cppExternalTasksProtector;
2144 
2145  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::MeteredLicenseManager> get_MeteredLicenseManager();
2146  ASPOSE_TASKS_SHARED_API void set_MeteredLicenseManager(const System::SharedPtr<Aspose::Tasks::MeteredLicenseManager>& value);
2147  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IDictionary<CustomField, CustomFieldType>> get_EnterpriseCfTypeMap() const;
2148  ASPOSE_TASKS_SHARED_API const System::SharedPtr<TimelineView>& get_Timeline() const;
2149  ASPOSE_TASKS_SHARED_API void set_Timeline(const System::SharedPtr<TimelineView>& value);
2150  ASPOSE_TASKS_SHARED_API const System::SharedPtr<ProjectFileInfo>& get_FileInfo() const;
2151  ASPOSE_TASKS_SHARED_API void set_FileInfo(const System::SharedPtr<ProjectFileInfo>& value);
2152  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Compound::MscdFileSystem>& get_FileSystem() const;
2153  ASPOSE_TASKS_SHARED_API void set_FileSystem(const System::SharedPtr<Compound::MscdFileSystem>& value);
2154  ASPOSE_TASKS_SHARED_API const System::SharedPtr<System::Collections::Generic::IDictionary<BaselineType, System::DateTime>>& get_BaselineSaveDates() const;
2155  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::ProjectState> get_ProjectState() const;
2156  ASPOSE_TASKS_SHARED_API void set_ProjectState(const System::SharedPtr<Aspose::Tasks::ProjectState>& value);
2157  ASPOSE_TASKS_SHARED_API System::String get_ProtectionPassword() const;
2158  ASPOSE_TASKS_SHARED_API void set_ProtectionPassword(const System::String& value);
2159  ASPOSE_TASKS_SHARED_API const System::SharedPtr<IO::MSProject::TaskFieldsMapper>& get_TaskMapper() const;
2160  ASPOSE_TASKS_SHARED_API void set_TaskMapper(const System::SharedPtr<IO::MSProject::TaskFieldsMapper>& value);
2161  ASPOSE_TASKS_SHARED_API const System::SharedPtr<IO::MSProject::AssnFieldsMapper>& get_AssnMapper() const;
2162  ASPOSE_TASKS_SHARED_API void set_AssnMapper(const System::SharedPtr<IO::MSProject::AssnFieldsMapper>& value);
2163  ASPOSE_TASKS_SHARED_API const System::SharedPtr<IO::MSProject::RscFieldsMapper>& get_RscMapper() const;
2164  ASPOSE_TASKS_SHARED_API void set_RscMapper(const System::SharedPtr<IO::MSProject::RscFieldsMapper>& value);
2165  ASPOSE_TASKS_SHARED_API const System::SharedPtr<System::Collections::Generic::Dictionary<int32_t, System::SharedPtr<Visualization::FontDescriptor>>>& get_Fonts() const;
2166  ASPOSE_TASKS_SHARED_API void set_Fonts(const System::SharedPtr<System::Collections::Generic::Dictionary<int32_t, System::SharedPtr<Visualization::FontDescriptor>>>& value);
2167  /// <summary>
2168  /// Gets all project tasks in a dictionary using task id as a key in the dictionary.
2169  /// </summary>
2170  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IDictionary<int32_t, System::SharedPtr<Task>>> get_Tasks();
2171  /// <summary>
2172  /// Sets all project tasks in a dictionary using task id as a key in the dictionary.
2173  /// </summary>
2174  ASPOSE_TASKS_SHARED_API void set_Tasks(const System::SharedPtr<System::Collections::Generic::IDictionary<int32_t, System::SharedPtr<Task>>>& value);
2175  ASPOSE_TASKS_SHARED_API double get_HoursPerDay();
2176  ASPOSE_TASKS_SHARED_API double get_HoursPerWeek();
2177  ASPOSE_TASKS_SHARED_API double get_HoursPerMonth();
2178  ASPOSE_TASKS_SHARED_API double get_HoursPerYear();
2179  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::GanttChartView> get_GanttChartView();
2180  ASPOSE_TASKS_SHARED_API const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<SavedView>>>& get_SavedViews() const;
2181  ASPOSE_TASKS_SHARED_API System::String get_DefaultViewName() const;
2182  ASPOSE_TASKS_SHARED_API void set_DefaultViewName(const System::String& value);
2183  ASPOSE_TASKS_SHARED_API bool get_ViewDataInitialized() const;
2184  ASPOSE_TASKS_SHARED_API System::Guid get_DefaultCalendarGuid() const;
2185  ASPOSE_TASKS_SHARED_API void set_DefaultCalendarGuid(System::Guid value);
2186  ASPOSE_TASKS_SHARED_API int32_t get_DefaultCalendarUid() const;
2187  ASPOSE_TASKS_SHARED_API void set_DefaultCalendarUid(int32_t value);
2188  ASPOSE_TASKS_SHARED_API System::String get_TemplateFullPath() const;
2189  ASPOSE_TASKS_SHARED_API const System::SharedPtr<SharedAssignmentCollection>& get_SharedResourceAssignments() const;
2190  ASPOSE_TASKS_SHARED_API void set_SharedResourceAssignments(const System::SharedPtr<SharedAssignmentCollection>& value);
2191  ASPOSE_TASKS_SHARED_API const System::SharedPtr<IO::MSProject::Metadata::MppMetadata>& get_Metadata() const;
2192  ASPOSE_TASKS_SHARED_API void set_Metadata(const System::SharedPtr<IO::MSProject::Metadata::MppMetadata>& value);
2193  ASPOSE_TASKS_SHARED_API bool get_CanCalculate() const;
2194 
2195  ASPOSE_TASKS_SHARED_API Project(bool initValues);
2196 
2197  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Project, CODEPORTING_ARGS(bool initValues));
2198 
2199  ASPOSE_TASKS_SHARED_API Project(bool initValues, bool increaseCredit);
2200 
2201  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Project, CODEPORTING_ARGS(bool initValues, bool increaseCredit));
2202  static ASPOSE_TASKS_SHARED_API System::SharedPtr<Project> OpenProjectWithoutCredits(const System::SharedPtr<System::IO::Stream>& s);
2203  virtual ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::MeteredLicenseManager> GetMeteredLicenseManager();
2204  ASPOSE_TASKS_SHARED_API void SetDefaultViewName(const System::String& name);
2205  ASPOSE_TASKS_SHARED_API void SetDefaultWorkingDays(const System::ArrayPtr<uint8_t>& bytes);
2206  /// <summary>
2207  /// Returns next Task Uid.
2208  /// For project without tasks starts from 0, else starts from max Uid + 1.
2209  /// Increments each call.
2210  /// </summary>
2211  ASPOSE_TASKS_SHARED_API int32_t GenerateNextTaskUid();
2212  /// <summary>
2213  /// Checks the project's structure. Returns true if the project
2214  /// structure is correct and false if the structure is broken.
2215  /// </summary>
2216  /// <returns>returns true if the project structure is correct and false if the structure is broken.</returns>
2217  ASPOSE_TASKS_SHARED_API bool CheckCircuit();
2218  ASPOSE_TASKS_SHARED_API void InitNextUids();
2219  ASPOSE_TASKS_SHARED_API void CalcTaskOutlineLevels();
2220  /// <summary>
2221  /// Recalculates project's tasks Outline number default codes.
2222  /// </summary>
2223  ASPOSE_TASKS_SHARED_API void CalcTaskOutlineNumbers();
2224  /// <summary>
2225  /// Calculates EarlyDates, LateDates, Start, Finish and TotalSlacks of each task
2226  /// and determines critical path of project based on calculated values.
2227  /// </summary>
2228  ASPOSE_TASKS_SHARED_API void CalculateCriticalPath();
2229  ASPOSE_TASKS_SHARED_API void CopyAllTo(const System::SharedPtr<Project>& proj);
2230  ASPOSE_TASKS_SHARED_API System::String GetCostFormatLabel();
2231  ASPOSE_TASKS_SHARED_API System::String GetCurrencyDigitsFormatString(const System::String& format);
2232  ASPOSE_TASKS_SHARED_API void CalcSummaries();
2233  ASPOSE_TASKS_SHARED_API void CalcStartFinishVariances();
2234  ASPOSE_TASKS_SHARED_API System::SharedPtr<Filter> GetFilter(const System::String& filterName);
2235  ASPOSE_TASKS_SHARED_API System::SharedPtr<Group> GetGroup(const System::String& groupName);
2236  ASPOSE_TASKS_SHARED_API void DefineOverallocations();
2237  ASPOSE_TASKS_SHARED_API Duration GetDuration(Duration duration);
2238  ASPOSE_TASKS_SHARED_API Duration GetDuration(System::TimeSpan timeSpan);
2239  ASPOSE_TASKS_SHARED_API Duration GetDuration(Duration duration, TimeUnitType timeUnit);
2240  ASPOSE_TASKS_SHARED_API Duration GetZeroDuration();
2241  /// <summary>
2242  /// Gets <see cref="Duration"></see> object with the specified <see cref="TimeSpan"></see> value and default work format.
2243  /// </summary>
2244  /// <param name="timeSpan">specified TimeSpan value.</param>
2245  /// <returns>Duration object.</returns>
2246  ASPOSE_TASKS_SHARED_API Duration GetWork(System::TimeSpan timeSpan);
2247  /// <summary>
2248  /// Gets <see cref="Duration"></see> object with the specified <see cref="TimeSpan"></see> value and default work format.
2249  /// </summary>
2250  /// <param name="timeSpan">specified TimeSpan value.</param>
2251  /// <param name="workFormat">The work format.</param>
2252  /// <returns>Duration object.</returns>
2253  ASPOSE_TASKS_SHARED_API Duration GetWork(System::TimeSpan timeSpan, TimeUnitType workFormat);
2254  ASPOSE_TASKS_SHARED_API Duration GetWork(Duration work);
2255  ASPOSE_TASKS_SHARED_API Duration GetZeroWork();
2256  /// <summary>
2257  /// Checks running mode and sets Year component to 2000 for all dates in the project as an evaluation limitation.
2258  /// </summary>
2259  ASPOSE_TASKS_SHARED_API void EnsureEvaluationMode(InternalFormatFlags format);
2260  /// <summary>
2261  /// All Aspose products should implement this method.
2262  /// It is called by a Venture product to indicate whether Venture itself is licensed or not and specify a custom watermark.
2263  /// When Venture is licensed, this project instance should behave as licensed too even if the Aspose product is not licensed.
2264  /// </summary>
2265  ASPOSE_TASKS_SHARED_API void SetVentureLicense(const System::SharedPtr<System::Object>& license);
2266  ASPOSE_TASKS_SHARED_API void CloneTo(const System::SharedPtr<Project>& another);
2267  ASPOSE_TASKS_SHARED_API void InitRootTask();
2268  ASPOSE_TASKS_SHARED_API void PerformBeforeSaveActions(InternalFormatFlags saveFileFormat);
2269  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<ResourceAssignment>>> GetResourceAssignmentsIncludingShared(const System::SharedPtr<Resource>& resource);
2270  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::ProjectState> SetReadingState();
2271  ASPOSE_TASKS_SHARED_API bool NeedToAddDefaultAssignment();
2272 
2273  virtual ASPOSE_TASKS_SHARED_API ~Project();
2274 
2275  #ifdef ASPOSE_GET_SHARED_MEMBERS
2276  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
2277  #endif
2278 
2279 
2280 private:
2281 
2282  System::SharedPtr<ProjectDisplayOptions> displayOptions;
2283  System::SharedPtr<System::Collections::Generic::IDictionary<CustomField, CustomFieldType>> enterpriseCfTypeMap;
2284  System::SharedPtr<OleObjectCollection> oleObjects;
2285  System::SharedPtr<Saving::SaveManager> saveManager;
2286  System::SharedPtr<IdGenerator> nextTaskUidGen;
2287  System::SharedPtr<Aspose::Tasks::MeteredLicenseManager> meteredLicenseManager;
2288  System::SharedPtr<PropertyContainer<PrjKey>> container;
2289  System::SharedPtr<Aspose::Tasks::ProjectState> projectState;
2290  Aspose::Tasks::CalculationMode calculationMode;
2291  System::SharedPtr<System::Collections::Generic::IDictionary<int32_t, System::SharedPtr<Task>>> tasks;
2292  System::SharedPtr<FilterCollection> taskFilters;
2293  System::SharedPtr<FilterCollection> rscFilters;
2294  System::SharedPtr<ViewCollection> views;
2295  System::SharedPtr<TableCollection> tables;
2296  System::SharedPtr<GroupCollection> taskGroups;
2297  System::SharedPtr<GroupCollection> rscGroups;
2298  System::SharedPtr<View> defaultView;
2299  bool pr_SkipRecalculationAfterSetLevelingDelay;
2300  /// <summary>
2301  /// This stores the venture licensing state instead of 2 obvious fields such as string value for watermark and some value indicating license is set or not.
2302  /// </summary>
2303  System::SharedPtr<System::Object> ventureLicense;
2304  System::String defaultViewName;
2305  System::SharedPtr<Aspose::Tasks::VbaProject> pr_VbaProject;
2306 
2307  /// <summary>
2308  /// Gets an instance of <see cref="VbaProject"></see> class.
2309  /// </summary>
2310  ASPOSE_TASKS_SHARED_API void set_VbaProject(const System::SharedPtr<Aspose::Tasks::VbaProject>& value);
2311 
2312  System::SharedPtr<Task> pr_RootTask;
2313  System::SharedPtr<TaskLinkCollection> pr_TaskLinks;
2314  System::SharedPtr<CalendarCollection> pr_Calendars;
2315  System::SharedPtr<ResourceCollection> pr_Resources;
2316  System::SharedPtr<OutlineCodeDefinitionCollection> pr_OutlineCodes;
2317  System::SharedPtr<ResourceAssignmentCollection> pr_ResourceAssignments;
2318  System::SharedPtr<WeekDayCollection> pr_DefaultWeekWorkingDays;
2319  System::SharedPtr<Properties::BuiltInProjectPropertyCollection> pr_BuiltInProps;
2320 
2321  /// <summary>
2322  /// Gets project's built-in properties collection.
2323  /// </summary>
2324  ASPOSE_TASKS_SHARED_API void set_BuiltInProps(const System::SharedPtr<Properties::BuiltInProjectPropertyCollection>& value);
2325 
2326  System::SharedPtr<Properties::CustomProjectPropertyCollection> pr_CustomProps;
2327 
2328  /// <summary>
2329  /// Gets project's custom properties collection.
2330  /// </summary>
2331  ASPOSE_TASKS_SHARED_API void set_CustomProps(const System::SharedPtr<Properties::CustomProjectPropertyCollection>& value);
2332 
2333  System::SharedPtr<ExtendedAttributeDefinitionCollection> pr_ExtendedAttributes;
2334 
2335  /// <summary>
2336  /// Gets all the task-based filter definitions.
2337  /// TaskFilters is a collection of <see cref="Filter"></see> objects.
2338  /// </summary>
2339  ASPOSE_TASKS_SHARED_API void set_TaskFilters(const System::SharedPtr<FilterCollection>& value);
2340  /// <summary>
2341  /// Gets all the resource-based filter definitions.
2342  /// ResourceFilters is a collection of <see cref="Filter"></see> objects.
2343  /// </summary>
2344  ASPOSE_TASKS_SHARED_API void set_ResourceFilters(const System::SharedPtr<FilterCollection>& value);
2345  /// <summary>
2346  /// Gets a list of <see cref="View"></see> objects.
2347  /// </summary>
2348  ASPOSE_TASKS_SHARED_API void set_Views(const System::SharedPtr<ViewCollection>& value);
2349  /// <summary>
2350  /// Gets a list of <see cref="Table"></see> objects.
2351  /// </summary>
2352  ASPOSE_TASKS_SHARED_API void set_Tables(const System::SharedPtr<TableCollection>& value);
2353  /// <summary>
2354  /// Gets all the task-based group definitions.
2355  /// TaskGroups is a collection of <see cref="Group"></see> objects.
2356  /// </summary>
2357  ASPOSE_TASKS_SHARED_API void set_TaskGroups(const System::SharedPtr<GroupCollection>& value);
2358  /// <summary>
2359  /// Gets all of the resource-based group definitions.
2360  /// ResourceGroups is a collection of <see cref="Group"></see> objects.
2361  /// </summary>
2362  ASPOSE_TASKS_SHARED_API void set_ResourceGroups(const System::SharedPtr<GroupCollection>& value);
2363 
2364  System::SharedPtr<Aspose::Tasks::WBSCodeDefinition> pr_WBSCodeDefinition;
2365  System::SharedPtr<PrimaveraProjectProperties> pr_PrimaveraProperties;
2366  System::SharedPtr<Properties::ProjectPropertyCollection> pr_Properties;
2367 
2368  /// <summary>
2369  /// Gets project's properties collection.
2370  /// </summary>
2371  ASPOSE_TASKS_SHARED_API void set_Properties(const System::SharedPtr<Properties::ProjectPropertyCollection>& value);
2372  System::SharedPtr<Aspose::LicenseV2::Venture::VentureLicense> get_VentureLicense() override;
2373 
2374  System::SharedPtr<TimelineView> pr_Timeline;
2375  System::SharedPtr<ProjectFileInfo> pr_FileInfo;
2376  System::SharedPtr<Compound::MscdFileSystem> pr_FileSystem;
2377  System::SharedPtr<System::Collections::Generic::IDictionary<BaselineType, System::DateTime>> pr_BaselineSaveDates;
2378 
2379  ASPOSE_TASKS_SHARED_API void set_BaselineSaveDates(const System::SharedPtr<System::Collections::Generic::IDictionary<BaselineType, System::DateTime>>& value);
2380 
2381  System::String pr_ProtectionPassword;
2382  System::SharedPtr<IO::MSProject::TaskFieldsMapper> pr_TaskMapper;
2383  System::SharedPtr<IO::MSProject::AssnFieldsMapper> pr_AssnMapper;
2384  System::SharedPtr<IO::MSProject::RscFieldsMapper> pr_RscMapper;
2385  System::SharedPtr<System::Collections::Generic::Dictionary<int32_t, System::SharedPtr<Visualization::FontDescriptor>>> pr_Fonts;
2386  System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<SavedView>>> pr_SavedViews;
2387 
2388  ASPOSE_TASKS_SHARED_API void set_SavedViews(const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<SavedView>>>& value);
2389 
2390  bool pr_ViewDataInitialized;
2391 
2392  ASPOSE_TASKS_SHARED_API void set_ViewDataInitialized(bool value);
2393 
2394  System::Guid pr_DefaultCalendarGuid;
2395  int32_t pr_DefaultCalendarUid;
2396  System::String pr_TemplateFullPath;
2397 
2398  ASPOSE_TASKS_SHARED_API void set_TemplateFullPath(const System::String& value);
2399 
2400  System::SharedPtr<SharedAssignmentCollection> pr_SharedResourceAssignments;
2401  System::SharedPtr<IO::MSProject::Metadata::MppMetadata> pr_Metadata;
2402 
2403  static System::SharedPtr<System::IO::FileStream> OpenFileForReading(const System::String& fileName);
2404  /// <summary>
2405  /// Updates <see cref="Task::ParentProject"></see> and <see cref="Task::ParentTask"></see> properties of all tasks in a project.
2406  /// </summary>
2407  void UpdateReferences();
2408  bool IsMppProject();
2409  void GetMaxUid(const System::SharedPtr<Task>& task, int32_t& max);
2410  void SetTaskBaseline(const System::SharedPtr<Task>& task, BaselineType baselineType);
2411  void CloneChildren(const System::SharedPtr<Task>& origParent, const System::SharedPtr<Task>& destParent);
2412  void CloneLinks(const System::SharedPtr<Project>& another);
2413  void CopyInternalDataTo(const System::SharedPtr<Project>& proj);
2414  void CopyMainDataTo(const System::SharedPtr<Project>& proj);
2415  void CopyViewData(const System::SharedPtr<Project>& proj);
2416  void CopyExtendedAttributeData(const System::SharedPtr<Project>& proj);
2417  void CopyProjectPropsTo(const System::SharedPtr<Project>& proj);
2418  void UpdateProjectWork(System::DateTime through, bool setZeroOrHundredPercOnly, const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Task>>>& taskCollection, bool checkTasks);
2419  /// <summary>
2420  /// Sets Year component to 2000 for all dates in the project as an evaluation limitation.
2421  /// </summary>
2422  void ResetDatesForEvaluation();
2423  void InitBools();
2424  void InitDefaultValues();
2425  void OpenFromStream(const System::SharedPtr<System::IO::Stream>& stream, const System::SharedPtr<LoadOptions>& loadOptions);
2426  void PerformBeforeSaveActions(const System::SharedPtr<Saving::MPPSaveOptions>& options);
2427  System::SharedPtr<Saving::ReportSaveManager> GetReportSaveManager();
2428  void CheckViewDataInitialized();
2429 
2430 };
2431 
2432 } // namespace Tasks
2433 } // namespace Aspose
2434 
2435 
Represents a collection of Calendar objects.
Definition: CalendarCollection.h:98
Represents a calendar used in a project.
Definition: Calendar.h:298
Represents duration in a project.
Definition: Duration.h:163
Represents an extended attribute definition associated with a project.
Definition: ExtendedAttributeDefinition.h:182
Represents extended attributes.
Definition: ExtendedAttribute.h:138
Represents a property key of a class of the specified type. An instance of this class is used when ge...
Definition: Key.h:76
K get_KeyType() const
Gets the key of the property.
Definition: Key.h:119
Contains resource leveling methods.
Definition: ResourceLeveler.h:46
A class for boolean values with possibility to check whether the value was defined or not.
Definition: NullableBool.h:22
Represents an outline code definition.
Definition: OutlineCodeDefinition.h:84
Represents a project.
Definition: Project.h:552
System::SharedPtr< System::Collections::Generic::IEnumerable< System::SharedPtr< Task > > > EnumerateAllChildTasks()
Recursively enumerates all project's tasks including root task.
System::SharedPtr< TaskCollection > get_CriticalPath()
Gets a collection which contains a list of Critical tasks which comprise Critical Path of this projec...
System::SharedPtr< FilterCollection > get_ResourceFilters()
Gets all the resource-based filter definitions. ResourceFilters is a collection of Filter objects.
void set_UpdateManuallyScheduledTasksWhenEditingLinks(NullableBool value)
Sets a value indicating whether UpdateManuallyScheduledTasksWhenEditingLinks is set or not.
void set_TimescaleFinish(System::DateTime value)
Sets a value of TimescaleFinish.
Project(const System::SharedPtr< System::IO::Stream > &stream, const System::SharedPtr< PrimaveraReadOptions > &options)
Initializes a new instance of the Project class from the Stream with the specified instance of the Pr...
void RenumberWBSCode()
Renumber WBS code of all tasks.
Duration GetDuration(double val, TimeUnitType timeUnit)
Gets Duration object with the specified number of TimeUnitType units.
void set_TaskUpdatesResource(NullableBool value)
Sets a value indicating whether TaskUpdatesResource is set or not.
NullableBool get_AutoAddNewResourcesAndTasks()
Gets a value indicating whether AutoAddNewResourcesAndTasks is set or not.
void set_MicrosoftProjectServerURL(NullableBool value)
Sets a value indicating whether MicrosoftProjectServerURL is set or not.
System::SharedPtr< View > get_DefaultView()
Gets default view of the project.
System::SharedPtr< TaskLinkCollection > GetPredecessors(const System::SharedPtr< Task > &task)
Returns a collection of task links which are predecessors of the specified task.
BaselineType get_BaselineForEarnedValue()
Gets a value of BaselineForEarnedValue.
void set_Calendar(const System::SharedPtr< Aspose::Tasks::Calendar > &value)
Sets a value of Calendar.
void set_Manager(const System::String &value)
Sets a value of Manager.
int32_t get_MinutesPerDay()
Gets a value of MinutesPerDay.
void RenumberWBSCode(const System::SharedPtr< System::Collections::Generic::List< int32_t >> &taskIds)
Renumber WBS code of passed tasks.
void set_ExtendedCreationDate(System::DateTime value)
Sets a value of ExtendedCreationDate.
void SaveReport(const System::SharedPtr< System::IO::Stream > &stream, Visualization::ReportType reportType)
Saves the project report of the specified type to the specified stream.
int32_t get_MinutesPerWeek()
Gets a value of MinutesPerWeek.
void set_NewTaskStartDate(TaskStartDateType value)
Sets a value of NewTaskStartDate.
void UpdateProjectWorkAsComplete(System::DateTime completeThrough, bool setZeroOrHundredPercentCompleteOnly, const System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< Task >>> &taskCollection)
Updates all work as complete through a specified date for the specified list of tasks.
int32_t GetPageCount(Visualization::PresentationFormat format)
Returns page count for the project to be rendered using default Timescale(Days) and given Presentatio...
void set_LastSaved(System::DateTime value)
Sets a value of LastSaved.
void set_StartDate(System::DateTime value)
Sets a value of StartDate.
void set_ProjectExternallyEdited(NullableBool value)
Sets a value indicating whether ProjectExternallyEdited is set or not.
int32_t get_CurrencyDigits()
Gets a value of CurrencyDigits.
System::DateTime get_StatusDate()
Gets a value of StatusDate.
Duration GetDuration(double val)
Gets Duration object with the specified number of units and default duration format which is defined ...
void set_NewTasksAreManual(NullableBool value)
Sets a value indicating whether NewTasksAreManual is set or not.
int32_t GetPageCount(Visualization::PageSize pageSize, Visualization::Timescale scale, System::DateTime startDate, System::DateTime endDate)
Returns page count for the project to be rendered using given Timescale, PresentationFormat and date ...
void Set(const Key< System::DateTime, PrjKey > &key, const System::DateTime &val)
Maps the specified property to the specified value in this container.
double get_DefaultStandardRate()
Gets a value of DefaultStandardRate.
NullableBool get_ProjectExternallyEdited()
Gets a value indicating whether ProjectExternallyEdited is set or not.
Project(const System::SharedPtr< System::IO::StreamReader > &reader)
Initializes a new instance of the Project class from a StreamReader instance.
void set_CurrencySymbolPosition(CurrencySymbolPositionType value)
Sets a value of CurrencySymbolPosition.
void set_BaselineForEarnedValue(BaselineType value)
Sets a value of BaselineForEarnedValue.
void set_EarnedValueMethod(EarnedValueMethodType value)
Sets a value of EarnedValueMethod.
void set_CalculationMode(Aspose::Tasks::CalculationMode value)
Sets calculation mode of a project. Can be one of the values of CalculationMode enumeration.
void SaveReport(const System::String &fileName, Visualization::ReportType reportType)
Saves the project report of the specified type in PDF format to the specified file path.
Project(const System::SharedPtr< System::IO::Stream > &stream, const System::String &protectionPassword)
Initializes a new instance of the Project class from a template(existent mpp or mpt file).
int32_t get_Revision()
Gets a value of Revision.
void set_SplitsInProgressTasks(NullableBool value)
Sets a value indicating whether SplitsInProgressTasks is set or not.
NullableBool get_AdminProject()
Gets a value indicating whether AdminProject is set or not.
void CopyTo(const System::SharedPtr< Project > &another)
Copies project's main data and properties to another project.
int32_t get_CriticalSlackLimit()
Gets a value of CriticalSlackLimit.
System::DateTime get_LastSaved()
Gets a value of LastSaved.
void Save(const System::String &filename, const System::SharedPtr< Saving::SimpleSaveOptions > &options)
Saves the document to a file using the specified save options.
System::DateTime get_ExtendedCreationDate()
Gets a value of ExtendedCreationDate.
System::String get_CustomDateFormat()
Gets a value of CustomDateFormat.
void set_Template(const System::String &value)
Sets a value of Template.
void set_Comments(const System::String &value)
Sets a value of Comments.
const System::SharedPtr< Task > & get_RootTask() const
Gets the root of the tree of tasks.
System::SharedPtr< System::Collections::Generic::IEnumerable< System::SharedPtr< Task > > > SelectAllChildTasks()
Recursively collects all child tasks of the root task.
void set_MinutesPerWeek(int32_t value)
Sets a value of MinutesPerWeek.
Duration GetDuration(System::TimeSpan timeSpan, TimeUnitType timeUnit)
Gets Duration object with the specified TimeSpan value and specified TimeUnitType value.
int32_t GetPageCount(Visualization::PresentationFormat format, Visualization::Timescale scale)
Returns page count for the project to be rendered using given Timescale and PresentationFormat.
void set_MoveCompletedEndsForward(NullableBool value)
Sets a value indicating whether MoveCompletedEndsForward is set or not.
NullableBool get_NewTasksEstimated()
Gets a value indicating whether NewTasksEstimated is set or not.
const System::SharedPtr< WeekDayCollection > & get_DefaultWeekWorkingDays() const
Gets the instance of WeekDayCollection class which represents a collection of project default week wo...
void set_DurationFormat(TimeUnitType value)
Sets a value of DurationFormat.
void set_FinishDate(System::DateTime value)
Sets a value of FinishDate.
void set_Company(const System::String &value)
Sets a value of Company.
void set_Revision(int32_t value)
Sets a value of Revision.
const System::SharedPtr< Properties::BuiltInProjectPropertyCollection > & get_BuiltInProps() const
Gets project's built-in properties collection.
void set_WorkFormat(TimeUnitType value)
Sets a value of WorkFormat.
Aspose::Tasks::CalculationMode get_CalculationMode() const
Gets calculation mode of a project. Can be one of the values of CalculationMode enumeration.
void set_Title(const System::String &value)
Sets a value of Title.
void set_DefaultStandardRate(double value)
Sets a value of DefaultStandardRate.
int32_t GetPageCount(Visualization::PageSize pageSize, Visualization::Timescale scale)
Returns page count for the project to be rendered using given Timescale and PageSize.
NullableBool get_SpreadActualCost()
Gets a value indicating whether SpreadActualCost is set or not.
System::String get_Template()
Gets a value of Template.
void set_ActualsInSync(NullableBool value)
Sets a value indicating whether ActualsInSync is set or not.
void set_Category(const System::String &value)
Sets a value of Category.
System::SharedPtr< GroupCollection > get_TaskGroups()
Gets all the task-based group definitions. TaskGroups is a collection of Group objects.
System::String get_HyperlinkBase()
Gets a value of HyperlinkBase.
void Save(const System::SharedPtr< System::IO::Stream > &stream, const System::SharedPtr< Saving::SimpleSaveOptions > &options)
Saves the project to a stream using the specified save options.
System::DateTime get_LastPrinted()
Gets a value of LastPrinted.
void set_KeepTaskOnNearestWorkingTimeWhenMadeAutoScheduled(NullableBool value)
Sets a value indicating whether KeepTaskOnNearestWorkingTimeWhenMadeAutoScheduled is set or not.
const System::SharedPtr< TaskLinkCollection > & get_TaskLinks() const
Gets TaskLinkCollection object.
System::Guid get_Guid()
Gets a value of Guid.
T Get(const Key< T, PrjKey > &key) const
Returns the value to which the property is mapped in this container.
Definition: Project.h:1755
EarnedValueMethodType get_DefaultTaskEVMethod()
Gets a value of DefaultTaskEVMethod.
bool get_AutoCalculateAssignmentCosts()
Gets whether assignment cost and remaining cost should be auto calculated using assignment's work and...
System::SharedPtr< ViewCollection > get_Views()
Gets a list of View objects.
Project(const System::String &projectTemplate)
Initializes a new instance of the Project class from a template (existent mpp or mpt file).
Month get_FyStartDate()
Gets a value of FyStartDate.
void Recalculate()
Reschedules all project tasks ids, outline levels, start/finish dates, sets early/late dates,...
System::SharedPtr< GroupCollection > get_ResourceGroups()
Gets all of the resource-based group definitions. ResourceGroups is a collection of Group objects.
void set_ScheduleFromStart(NullableBool value)
Sets a value indicating whether ScheduleFromStart is set or not.
const System::SharedPtr< Aspose::Tasks::WBSCodeDefinition > & get_WBSCodeDefinition() const
Gets WBS Code Definition for the project.
void set_CurrencyCode(const System::String &value)
Sets a value of CurrencyCode.
void set_CreationDate(System::DateTime value)
Sets a value of CreationDate.
void set_MoveCompletedEndsBack(NullableBool value)
Sets a value indicating whether MoveCompletedEndsBack is set or not.
void set_RemoveFileProperties(NullableBool value)
Sets a value indicating whether RemoveFileProperties is set or not.
void set_NewTasksEffortDriven(NullableBool value)
Sets a value indicating whether NewTasksEffortDriven is set or not.
System::String get_Title()
Gets a value of Title.
void set_CurrentDate(System::DateTime value)
Sets a value of CurrentDate.
NullableBool get_MultipleCriticalPaths()
Gets a value indicating whether MultipleCriticalPaths is set or not.
System::DateTime get_CreationDate()
Gets a value of CreationDate.
NullableBool get_NewTasksAreManual()
Gets a value indicating whether NewTasksAreManual is set or not.
void set_WBSCodeDefinition(const System::SharedPtr< Aspose::Tasks::WBSCodeDefinition > &value)
Sets WBS Code Definition for the project.
NullableBool get_MoveCompletedEndsForward()
Gets a value indicating whether MoveCompletedEndsForward is set or not.
NullableBool get_MoveRemainingStartsForward()
Gets a value indicating whether MoveRemainingStartsForward is set or not.
void set_CurrencySymbol(const System::String &value)
Sets a value of CurrencySymbol.
const System::SharedPtr< OutlineCodeDefinitionCollection > & get_OutlineCodes() const
Gets OutlineCodeDefinitionCollection object. The collection of outline code definitions associated wi...
void RecalculateResourceFields()
Recalculates Id, Start and Finish of resources.
Project(const System::SharedPtr< System::IO::Stream > &stream)
Initializes a new instance of the Project class from a stream.
NullableBool get_TaskUpdatesResource()
Gets a value indicating whether TaskUpdatesResource is set or not.
Project(const System::String &projectTemplate, const System::String &protectionPassword)
Initializes a new instance of the Project class from a password protected template (existent mpp or m...
System::String get_Subject()
Gets a value of Subject.
void set_WeekStartDay(DayType value)
Sets a value of WeekStartDay.
bool get_ShowProjectSummaryTask()
Gets a value indicating whether ShowProjectSummaryTask is set or not.
void set_InsertedProjectsLikeSummary(NullableBool value)
Sets a value indicating whether InsertedProjectsLikeSummary is set or not.
const System::SharedPtr< CalendarCollection > & get_Calendars() const
Gets CalendarCollection object of this Project instance.
void set_CurrencyDigits(int32_t value)
Sets a value of CurrencyDigits.
int32_t get_SaveVersion()
Gets a value of SaveVersion.
System::String get_CurrencySymbol()
Gets a value of CurrencySymbol.
void set_Autolink(NullableBool value)
Sets a value indicating whether Autolink is set or not.
void set_Subject(const System::String &value)
Sets a value of Subject.
NullableBool get_Autolink()
Gets a value indicating whether Autolink is set or not.
void SaveAsTemplate(const System::String &fileName)
Saves the project as a template to the specified file path.
void set_DefaultFinishTime(System::DateTime value)
Sets a value of DefaultFinishTime.
void CopyTo(const System::SharedPtr< Project > &another, const System::SharedPtr< CopyToOptions > &options)
Copies project's main data and properties to another project.
void set_Uid(const System::String &value)
Sets a value of Uid.
System::DateTime get_CurrentDate()
Gets a value of CurrentDate.
void SetBaseline(BaselineType baselineType, const System::SharedPtr< System::Collections::Generic::IEnumerable< System::SharedPtr< Task >>> &taskCollection)
Saves baseline fields to the specified baseline for the selected tasks.
void set_DefaultTaskType(TaskType value)
Sets a value of DefaultTaskType.
NullableBool get_HonorConstraints()
Gets a value indicating whether HonorConstraints is set or not.
const System::SharedPtr< ResourceAssignmentCollection > & get_ResourceAssignments() const
Gets ResourceAssignmentCollection object.
NullableBool get_FiscalYearStart()
Gets a value indicating whether FiscalYearStart is set or not.
System::DateTime GetBaselineSaveTime(BaselineType baselineNumber)
Returns the baseline save time.
System::DateTime get_StartDate()
Gets a value of StartDate.
System::String get_Uid()
Gets a value of Uid.
void set_DefaultOvertimeRate(double value)
Sets a value of DefaultOvertimeRate.
void set_Author(const System::String &value)
Sets a value of Author.
CurrencySymbolPositionType get_CurrencySymbolPosition()
Gets a value of CurrencySymbolPosition.
void set_AreEditableActualCosts(NullableBool value)
Sets a value indicating whether AreEditableActualCosts is set or not.
System::SharedPtr< TableCollection > get_Tables()
Gets a list of Table objects.
void set_ShowProjectSummaryTask(bool value)
Sets a value indicating whether ShowProjectSummaryTask is set or not.
static System::SharedPtr< ProjectFileInfo > GetProjectFileInfo(const System::String &filename)
Read project file info from the file.
void set_SaveVersion(int32_t value)
Sets a value of SaveVersion.
Project(const System::SharedPtr< Connectivity::DbSettings > &settings)
Initializes a new instance of the Project class to read data from a database which is specified by th...
void set_DefaultStartTime(System::DateTime value)
Sets a value of DefaultStartTime.
EarnedValueMethodType get_EarnedValueMethod()
Gets a value of EarnedValueMethod.
Project(const System::String &projectTemplate, ParseErrorCallback parseErrorHandler)
Initializes a new instance of the Project class from a template (existent mpp or mpt file).
void set_TimescaleStart(System::DateTime value)
Sets a value of TimescaleStart.
void SaveAsTemplate(const System::SharedPtr< System::IO::Stream > &stream, const System::SharedPtr< Saving::SaveTemplateOptions > &options)
Saves the project as a template to a specified stream.
System::DateTime get_DefaultStartTime()
Gets a value of DefaultStartTime.
void RescheduleUncompletedWorkToStartAfter(System::DateTime after)
Reschedules uncompleted project work to start after a specified date.
void set_MoveRemainingStartsBack(NullableBool value)
Sets a value indicating whether MoveRemainingStartsBack is set or not.
void set_Guid(System::Guid value)
Sets a value of Guid.
void set_AutoAddNewResourcesAndTasks(NullableBool value)
Sets a value indicating whether AutoAddNewResourcesAndTasks is set or not.
void RescheduleUncompletedWorkToStartAfter(System::DateTime after, const System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< Task >>> &taskCollection)
Reschedules uncompleted work for a specified list of tasks to start after a specified date.
void SaveReport(const System::String &fileName)
Saves the project overview report to PDF file.
NullableBool get_KeepTaskOnNearestWorkingTimeWhenMadeAutoScheduled()
Gets a value indicating whether KeepTaskOnNearestWorkingTimeWhenMadeAutoScheduled is set or not.
void set_MultipleCriticalPaths(NullableBool value)
Sets a value indicating whether MultipleCriticalPaths is set or not.
void Recalculate(bool validate)
Reschedules all project tasks ids, outline levels, start/finish dates, sets early/late dates,...
const System::SharedPtr< ResourceCollection > & get_Resources() const
Gets ResourceCollection object.
NullableBool get_InsertedProjectsLikeSummary()
Gets a value indicating whether InsertedProjectsLikeSummary is set or not.
System::String get_Author()
Gets a value of Author.
void SetBaseline(BaselineType baselineType)
Saves baseline fields to the specified baseline for the entire project.
System::String get_Category()
Gets a value of Category.
void set_MoveRemainingStartsForward(NullableBool value)
Sets a value indicating whether MoveRemainingStartsForward is set or not.
const System::SharedPtr< PrimaveraProjectProperties > & get_PrimaveraProperties() const
Gets an object containing Primavera-specific properties for a project read from Primavera file.
NullableBool get_ActualsInSync()
Gets a value indicating whether ActualsInSync is set or not.
void set_HonorConstraints(NullableBool value)
Sets a value indicating whether HonorConstraints is set or not.
System::String get_Keywords()
Gets a value of Keywords.
System::String get_Manager()
Gets a value of Manager.
TaskType get_DefaultTaskType()
Gets a value of DefaultTaskType.
void Save(const System::String &filename, Saving::SaveFileFormat format)
Saves the project data to the file.
System::SharedPtr< Aspose::Tasks::Calendar > get_Calendar()
Gets a value of Calendar.
NullableBool get_MicrosoftProjectServerURL()
Gets a value indicating whether MicrosoftProjectServerURL is set or not.
NullableBool get_MoveCompletedEndsBack()
Gets a value indicating whether MoveCompletedEndsBack is set or not.
void set_CriticalSlackLimit(int32_t value)
Sets a value of CriticalSlackLimit.
Duration GetWork(double val)
Gets Duration object with the specified double value and default work format.
void Save(const System::String &filename)
Saves the project data to the file in mpp format.
void set_DefaultView(const System::SharedPtr< View > &value)
Sets default view of the project.
System::String get_Comments()
Gets a value of Comments.
void set_DefaultTaskEVMethod(EarnedValueMethodType value)
Sets a value of DefaultTaskEVMethod.
void set_AdminProject(NullableBool value)
Sets a value indicating whether AdminProject is set or not.
System::DateTime get_TimescaleFinish()
Gets a value of TimescaleFinish.
void set_Name(const System::String &value)
Sets a value of Name.
System::DateTime get_DefaultFinishTime()
Gets a value of DefaultFinishTime.
void set_HyperlinkBase(const System::String &value)
Sets a value of HyperlinkBase.
NullableBool get_AreEditableActualCosts()
Gets a value indicating whether AreEditableActualCosts is set or not.
Project(const System::String &projectTemplate, const System::SharedPtr< LoadOptions > &options)
Initializes a new instance of the Project class from a template (existent mpp or mpt file) with the s...
void SaveAsTemplate(const System::String &fileName, const System::SharedPtr< Saving::SaveTemplateOptions > &options)
Saves the project as a template.
void set_DaysPerMonth(int32_t value)
Sets a value of DaysPerMonth.
System::SharedPtr< OleObjectCollection > get_OleObjects() const
Gets a collection containing the instances of the OleObject class which are linked or embedded to thi...
void UpdateProjectWorkAsComplete(System::DateTime completeThrough, bool setZeroOrHundredPercentCompleteOnly)
Updates all work as complete through a specified date for the entire project.
const System::SharedPtr< Properties::CustomProjectPropertyCollection > & get_CustomProps() const
Gets project's custom properties collection.
Project(const System::String &projectTemplate, const System::SharedPtr< PrimaveraReadOptions > &options)
Initializes a new instance of the Project class from a template (existent MPP or MPT file) with the s...
void set_DateFormat(Aspose::Tasks::DateFormat value)
Sets a value of DateFormat.
const System::SharedPtr< Aspose::Tasks::VbaProject > & get_VbaProject() const
Gets an instance of VbaProject class.
System::String get_Name()
Gets a value of Name.
void set_SpreadPercentComplete(NullableBool value)
Sets a value indicating whether SpreadPercentComplete is set or not.
void SaveReport(const System::SharedPtr< System::IO::Stream > &stream)
Saves the project overview report to the stream.
int32_t GetPageCount(const System::SharedPtr< Saving::SaveOptions > &saveOptions)
Returns page count for the project to be rendered using given SaveOptions.
void SetBaselineSaveTime(BaselineType baselineNumber, System::DateTime value)
Sets the baseline save time.
void set_Keywords(const System::String &value)
Sets a value of Keywords.
NullableBool get_UpdateManuallyScheduledTasksWhenEditingLinks()
Gets a value indicating whether UpdateManuallyScheduledTasksWhenEditingLinks is set or not.
void SaveAsTemplate(const System::SharedPtr< System::IO::Stream > &stream)
Saves the project as a template to a specified stream.
void set_AutoCalculateAssignmentCosts(bool value)
Sets whether assignment cost and remaining cost should be auto calculated using assignment's work and...
void set_CustomDateFormat(const System::String &value)
Sets a value of CustomDateFormat.
System::SharedPtr< FilterCollection > get_TaskFilters()
Gets all the task-based filter definitions. TaskFilters is a collection of Filter objects.
double get_DefaultOvertimeRate()
Gets a value of DefaultOvertimeRate.
void RecalculateResourceStartFinish()
Recalculates Start and Finish of resources.
void Set(const Key< T, PrjKey > &key, const T &val)
Maps the specified property to the specified value in this container.
Definition: Project.h:1781
Project(const System::SharedPtr< System::IO::Stream > &stream, ParseErrorCallback parseErrorHandler)
Initializes a new instance of the Project class from a template(existent mpp or mpt file).
void set_LastPrinted(System::DateTime value)
Sets a value of LastPrinted.
void set_MinutesPerDay(int32_t value)
Sets a value of MinutesPerDay.
void set_SpreadActualCost(NullableBool value)
Sets a value indicating whether SpreadActualCost is set or not.
Project(const System::SharedPtr< System::IO::Stream > &stream, const System::SharedPtr< LoadOptions > &options)
Initializes a new instance of the Project class from the Stream with the specified instance of the Lo...
System::SharedPtr< ProjectDisplayOptions > get_DisplayOptions() const
Gets an instance of the ProjectDisplayOptions class.
Project()
Initializes a new instance of the Project class.
void set_LastAuthor(const System::String &value)
Sets a value of LastAuthor.
NullableBool get_MoveRemainingStartsBack()
Gets a value indicating whether MoveRemainingStartsBack is set or not.
NullableBool get_SplitsInProgressTasks()
Gets a value indicating whether SplitsInProgressTasks is set or not.
NullableBool get_SpreadPercentComplete()
Gets a value indicating whether SpreadPercentComplete is set or not.
void RemoveInvalidResourceAssignments()
Eliminates invalid resource assignments from the project resource assignments list.
TimeUnitType get_DurationFormat()
Gets a value of DurationFormat.
NullableBool get_NewTasksEffortDriven()
Gets a value indicating whether NewTasksEffortDriven is set or not.
void set_StatusDate(System::DateTime value)
Sets a value of StatusDate.
void set_FyStartDate(Month value)
Sets a value of FyStartDate.
System::String get_CurrencyCode()
Gets a value of CurrencyCode.
static System::SharedPtr< ProjectFileInfo > GetProjectFileInfo(const System::SharedPtr< System::IO::Stream > &stream)
Gets project file info from the stream.
NullableBool get_ScheduleFromStart()
Gets a value indicating whether ScheduleFromStart is set or not.
const System::SharedPtr< ExtendedAttributeDefinitionCollection > & get_ExtendedAttributes() const
Gets ExtendedAttributeDefinitionCollection object. The collection of extended attribute (custom field...
System::String get_Company()
Gets a value of Company.
NullableBool get_RemoveFileProperties()
Gets a value indicating whether RemoveFileProperties is set or not.
void set_NewTasksEstimated(NullableBool value)
Sets a value indicating whether NewTasksEstimated is set or not.
CostAccrualType get_DefaultFixedCostAccrual()
Gets a value of DefaultFixedCostAccrual.
TimeUnitType get_WorkFormat()
Gets a value of WorkFormat.
Aspose::Tasks::DateFormat get_DateFormat()
Gets a value of DateFormat.
System::DateTime get_TimescaleStart()
Gets a value of TimescaleStart.
DayType get_WeekStartDay()
Gets a value of WeekStartDay.
void Save(const System::SharedPtr< System::IO::Stream > &stream, Saving::SaveFileFormat format)
Saves the project data to the stream.
System::DateTime get_FinishDate()
Gets a value of FinishDate.
TaskStartDateType get_NewTaskStartDate()
Gets a value of NewTaskStartDate.
void set_DefaultFixedCostAccrual(CostAccrualType value)
Sets a value of DefaultFixedCostAccrual.
int32_t get_DaysPerMonth()
Gets a value of DaysPerMonth.
int32_t GetPageCount(Visualization::Timescale scale)
Returns page count for the project to be rendered using given Timescale.
System::String get_LastAuthor()
Gets a value of LastAuthor.
void set_FiscalYearStart(NullableBool value)
Sets a value indicating whether FiscalYearStart is set or not.
int32_t GetPageCount()
Returns page count for the project to be rendered using default Timescale(Days).
Represents the set of parameters are used to create a recurring task in a project.
Definition: RecurringTaskParameters.h:49
Represents a resource assignment in a project.
Definition: ResourceAssignment.h:222
Represents a resource in a project.
Definition: Resource.h:207
Allows to specify additional options when saving project to CSV.
Definition: CsvOptions.h:53
Allows to specify additional options when saving project data to MPP.
Definition: MPPSaveOptions.h:32
This is an abstract base class for classes that allow the user to specify additional options when sav...
Definition: SaveOptions.h:95
Represents Baseline of a Task.
Definition: TaskBaseline.h:53
Represents a collection of Task objects.
Definition: TaskCollection.h:103
Represents a task in a project.
Definition: Task.h:384
Represents a view in Project.
Definition: View.h:100
Project's view class
Definition: ProjectView.h:58
Definition: Asn.h:13