Aspose.Tasks for C++
Resource.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="Resource.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/iequatable.h>
9 #include <system/date_time.h>
10 
11 #include "aspose.tasks.cpp/PropertyContainer.h"
12 #include "aspose.tasks.cpp/IEntityWithNotes.h"
13 #include "aspose.tasks.cpp/IEntityWithHyperlink.h"
14 #include "aspose.tasks.cpp/IContainer.h"
15 #include "aspose.tasks.cpp/Key.h"
16 #include "aspose.tasks.cpp/IExtendedAttributeParent.h"
17 #include "aspose.tasks.cpp/Enums/RscKey.h"
18 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
19 
20 namespace Aspose
21 {
22 namespace Tasks
23 {
24 class AutoRecalculationState;
25 class AvailabilityPeriodCollection;
26 class Baseline;
27 class BaselineCollection;
28 enum class BaselineType;
29 enum class BookingType;
30 namespace Calculations
31 {
32 class ResourceAssignmentCostCalculator;
33 class ResourceCalculator;
34 class ResourceCostCalculator;
35 class ResourceOverAllocationCalculator;
36 class ResourceWorkCalculator;
37 } // namespace Calculations
38 class Calendar;
39 namespace Connectivity
40 {
41 template <typename> class MpdField;
42 class MpdOutlineCodeField;
43 class MpdReader;
44 class MpdResourceBaselineMapper;
45 class MpdResourceMapper;
46 class MspResourceMapper;
47 class PmResourceMapper;
48 class PmResourceRateMapper;
49 } // namespace Connectivity
50 enum class CostAccrualType;
51 class Duration;
52 class EvaluationModeDatesResetter;
53 class EVCalculator;
54 class ExtendedAttributeCollection;
55 namespace Filters
56 {
57 class ResourceGuidFilter;
58 } // namespace Filters
59 namespace IO
60 {
61 namespace Html
62 {
63 class HtmlResourceBaseLineTableReader;
64 class HtmlResourceExtAttributesTableReader;
65 class HtmlResourceTableReader;
66 } // namespace Html
67 namespace Mpx
68 {
69 class MpxReader;
70 class MpxUtils;
71 } // namespace Mpx
72 namespace MSProject
73 {
74 class MPP12ResourceReader;
75 class MPP12ResourceWriter;
76 class MPP14ResourceWriter;
77 class MPP9ResourceReader;
78 class MPP9ResourceWriter;
79 class MPPAvailabilityReader;
80 class MppAvailabilityWriter;
81 class MPPRateTableReader;
82 class MPPReader;
83 class MPPResourceReader;
84 class MPPResourceWriter;
85 } // namespace MSProject
86 namespace PrimaveraXml
87 {
88 class PrimaveraCalendarNodeReader;
89 class PrimaveraResourceNodeReader;
90 class PrimaveraResourceRateNodeReader;
91 } // namespace PrimaveraXml
92 namespace Pwa
93 {
94 namespace InternalApi
95 {
96 namespace Mapping
97 {
98 class AssignmentToRawValuesMapper;
99 class CalendarToRawValuesMapper;
100 class ExtendedAttributeDefinitionToRawValuesMapper;
101 class ProjectResourcesMapper;
102 class ResourceToRawValuesMapper;
103 } // namespace Mapping
104 } // namespace InternalApi
105 } // namespace Pwa
106 namespace Xer
107 {
108 class XerResourceRateReader;
109 class XerResourceReader;
110 class XerRoleWithRates;
111 class XerUtils;
112 } // namespace Xer
113 namespace Xml
114 {
115 class ResourceNodeReader;
116 class ResourceNodeWriter;
117 class XmlReader;
118 class XmlWriter;
119 } // namespace Xml
120 } // namespace IO
121 namespace Leveling
122 {
123 class LevelingAlgorithm;
124 } // namespace Leveling
125 class NullableBool;
126 class OutlineCodeCollection;
127 class ProjDateAdd;
128 class ProjDateConv;
129 class ProjDateDiff;
130 class ProjDateSub;
131 class ProjDurConv;
132 class ProjDurValue;
133 class Project;
134 class ProjectIntegrityValidator;
135 class ProjectState;
136 namespace Properties
137 {
138 class ResourcePropertyCollection;
139 } // namespace Properties
140 class RateCollection;
141 enum class RateFormatType;
142 class ResourceAssignment;
143 class ResourceAssignmentCollection;
144 class ResourceCollection;
145 class ResourceFactory;
146 enum class ResourceType;
147 namespace Saving
148 {
149 class CsvOptions;
150 class HtmlResourceBaseLineTable;
151 class HtmlResourceExtendedAttributesTable;
152 class MpxSavingUtils;
153 class TemplateWriter;
154 class XerResourceRatesTable;
155 } // namespace Saving
156 class TimephasedData;
157 class TimephasedDataCollection;
158 enum class TimephasedDataType : int8_t;
159 class TimephasedWorkCostSelector;
160 namespace Util
161 {
162 class CalculatedExtendedAttributeUtils;
163 class ExtendedAttributeChecker;
164 namespace Fields
165 {
166 class FieldHelperInternal;
167 class FieldToValue;
168 class RscFieldToValue;
169 } // namespace Fields
170 } // namespace Util
171 namespace Visualization
172 {
173 class ApsReportBuilder;
174 class ApsReportCostOverrunsBuilder;
175 class ApsReportOverallocatedRscBuilder;
176 class ApsReportResourceCostOverviewBuilder;
177 class ApsReportRscOverviewBuilder;
178 class ApsResourceUsageBuilder;
179 class ApsResourceUsagePage;
180 class ResourceToColumnText;
181 } // namespace Visualization
182 enum class WorkGroupType;
183 } // namespace Tasks
184 } // namespace Aspose
185 namespace System
186 {
187 namespace Collections
188 {
189 namespace Generic
190 {
191 template <typename> class IEnumerable;
192 template <typename> class IList;
193 } // namespace Generic
194 } // namespace Collections
195 class Decimal;
196 class Guid;
197 } // namespace System
198 
199 namespace Aspose {
200 
201 namespace Tasks {
202 
203 /// <summary>
204 /// Represents a resource in a project.
205 /// </summary>
206 class ASPOSE_TASKS_SHARED_CLASS Resource : public Aspose::Tasks::IContainer<Aspose::Tasks::RscKey>, public System::IEquatable<System::SharedPtr<Aspose::Tasks::Resource>>, public Aspose::Tasks::IExtendedAttributeParent, public Aspose::Tasks::IEntityWithNotes, public Aspose::Tasks::IEntityWithHyperlink
207 {
208  typedef Resource ThisType;
209  typedef Aspose::Tasks::IContainer<Aspose::Tasks::RscKey> BaseType;
210  typedef System::IEquatable<System::SharedPtr<Aspose::Tasks::Resource>> BaseType1;
211  typedef Aspose::Tasks::IExtendedAttributeParent BaseType2;
212  typedef Aspose::Tasks::IEntityWithNotes BaseType3;
213  typedef Aspose::Tasks::IEntityWithHyperlink BaseType4;
214 
215  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2, BaseType3, BaseType4> ThisTypeBaseTypesInfo;
216  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
217 
218  friend class Aspose::Tasks::Calculations::ResourceOverAllocationCalculator;
219  friend class Aspose::Tasks::Calculations::ResourceAssignmentCostCalculator;
220  friend class Aspose::Tasks::Calculations::ResourceCalculator;
221  friend class Aspose::Tasks::Calculations::ResourceCostCalculator;
222  friend class Aspose::Tasks::Calculations::ResourceWorkCalculator;
223  friend class Aspose::Tasks::IO::MSProject::MppAvailabilityWriter;
224  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraCalendarNodeReader;
225  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraResourceNodeReader;
226  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraResourceRateNodeReader;
227  friend class Aspose::Tasks::Leveling::LevelingAlgorithm;
228  friend class Aspose::Tasks::Project;
230  friend class Aspose::Tasks::Filters::ResourceGuidFilter;
231  friend class Aspose::Tasks::ResourceFactory;
232  friend class Aspose::Tasks::ResourceFactory;
233  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::AssignmentToRawValuesMapper;
234  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::CalendarToRawValuesMapper;
235  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ExtendedAttributeDefinitionToRawValuesMapper;
236  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ResourceToRawValuesMapper;
237  friend class Aspose::Tasks::EVCalculator;
238  friend class Aspose::Tasks::ProjDateAdd;
239  friend class Aspose::Tasks::ProjDateConv;
240  friend class Aspose::Tasks::ProjDateDiff;
241  friend class Aspose::Tasks::ProjDateSub;
242  friend class Aspose::Tasks::ProjDurConv;
243  friend class Aspose::Tasks::ProjDurValue;
244  template<typename FT0> friend class Aspose::Tasks::Connectivity::MpdField;
245  friend class Aspose::Tasks::Connectivity::MpdOutlineCodeField;
246  friend class Aspose::Tasks::Connectivity::MpdReader;
247  friend class Aspose::Tasks::Connectivity::MpdResourceBaselineMapper;
248  friend class Aspose::Tasks::Connectivity::MpdResourceMapper;
249  friend class Aspose::Tasks::Connectivity::MspResourceMapper;
250  friend class Aspose::Tasks::Connectivity::PmResourceMapper;
251  friend class Aspose::Tasks::Connectivity::PmResourceRateMapper;
252  friend class Aspose::Tasks::IO::Html::HtmlResourceBaseLineTableReader;
253  friend class Aspose::Tasks::IO::Html::HtmlResourceExtAttributesTableReader;
254  friend class Aspose::Tasks::IO::Html::HtmlResourceTableReader;
255  friend class Aspose::Tasks::Visualization::ApsResourceUsagePage;
256  friend class Aspose::Tasks::IO::MSProject::MPPReader;
257  friend class Aspose::Tasks::IO::MSProject::MPP12ResourceReader;
258  friend class Aspose::Tasks::IO::MSProject::MPPResourceReader;
259  friend class Aspose::Tasks::IO::MSProject::MPP12ResourceWriter;
260  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceReader;
261  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceWriter;
262  friend class Aspose::Tasks::IO::MSProject::MPP14ResourceWriter;
263  friend class Aspose::Tasks::IO::MSProject::MPPAvailabilityReader;
264  friend class Aspose::Tasks::IO::MSProject::MPPRateTableReader;
265  friend class Aspose::Tasks::IO::MSProject::MPPResourceWriter;
266  friend class Aspose::Tasks::IO::Mpx::MpxReader;
267  friend class Aspose::Tasks::IO::Mpx::MpxUtils;
268  friend class Aspose::Tasks::IO::Xer::XerResourceRateReader;
269  friend class Aspose::Tasks::IO::Xer::XerResourceReader;
270  friend class Aspose::Tasks::IO::Xer::XerRoleWithRates;
271  friend class Aspose::Tasks::IO::Xer::XerUtils;
272  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectResourcesMapper;
273  friend class Aspose::Tasks::IO::Xml::ResourceNodeReader;
274  friend class Aspose::Tasks::IO::Xml::ResourceNodeWriter;
275  friend class Aspose::Tasks::IO::Xml::XmlReader;
276  friend class Aspose::Tasks::IO::Xml::XmlWriter;
277  friend class Aspose::Tasks::ProjectIntegrityValidator;
278  friend class Aspose::Tasks::AutoRecalculationState;
279  friend class Aspose::Tasks::ProjectState;
280  friend class Aspose::Tasks::EvaluationModeDatesResetter;
283  friend class Aspose::Tasks::Visualization::ApsReportBuilder;
285  friend class Aspose::Tasks::Saving::HtmlResourceBaseLineTable;
286  friend class Aspose::Tasks::Saving::HtmlResourceExtendedAttributesTable;
287  friend class Aspose::Tasks::Saving::MpxSavingUtils;
288  friend class Aspose::Tasks::Saving::XerResourceRatesTable;
289  friend class Aspose::Tasks::Saving::TemplateWriter;
290  friend class Aspose::Tasks::TimephasedWorkCostSelector;
291  friend class Aspose::Tasks::Util::CalculatedExtendedAttributeUtils;
292  friend class Aspose::Tasks::Util::ExtendedAttributeChecker;
293  friend class Aspose::Tasks::Util::Fields::FieldHelperInternal;
294  friend class Aspose::Tasks::Util::Fields::FieldToValue;
295  friend class Aspose::Tasks::Util::Fields::RscFieldToValue;
296  friend class Aspose::Tasks::Visualization::ApsResourceUsageBuilder;
297  friend class Aspose::Tasks::Visualization::ApsReportCostOverrunsBuilder;
298  friend class Aspose::Tasks::Visualization::ApsReportOverallocatedRscBuilder;
299  friend class Aspose::Tasks::Visualization::ApsReportResourceCostOverviewBuilder;
300  friend class Aspose::Tasks::Visualization::ApsReportRscOverviewBuilder;
301  friend class Aspose::Tasks::Visualization::ResourceToColumnText;
302 
303 public:
304 
305  /// <summary>
306  /// Gets parent project for this container.
307  /// </summary>
308  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Project>& get_ParentProject() const override;
309  /// <summary>
310  /// Gets the values of an extended attribute.
311  /// </summary>
312  /// <remarks>
313  /// Two pieces of data are necessary - a pointer back to the extended attribute table
314  /// which is specified either by the unique ID or the Field ID, and the value
315  /// which is specified either with the value, or a pointer back to the value list.
316  /// </remarks>
317  ASPOSE_TASKS_SHARED_API System::SharedPtr<ExtendedAttributeCollection> get_ExtendedAttributes() override;
318  /// <summary>
319  /// Gets a BaselineCollection instance for this object.
320  /// The baseline values for a resource.
321  /// </summary>
322  ASPOSE_TASKS_SHARED_API const System::SharedPtr<BaselineCollection>& get_Baselines() const;
323  /// <summary>
324  /// Gets an OutlineCodeCollection object.
325  /// The value of an outline code.
326  /// </summary>
327  /// <remarks>
328  /// Two pieces of data are necessary - a pointer to the outline code table that
329  /// is specified by the FieldID, and the value that is specified either by
330  /// the ValueID or ValueGUID pointer to the value list.
331  /// </remarks>
332  ASPOSE_TASKS_SHARED_API System::SharedPtr<OutlineCodeCollection> get_OutlineCode() const;
333  /// <summary>
334  /// Gets a the instance of the <see cref="AvailabilityPeriodCollection"></see> class.
335  /// The collection of periods during which a resource is available.
336  /// </summary>
337  ASPOSE_TASKS_SHARED_API const System::SharedPtr<AvailabilityPeriodCollection>& get_AvailabilityPeriods() const;
338  /// <summary>
339  /// Gets a the instance of the <see cref="RateCollection"></see> class for this object.
340  /// The collection of periods and rates associated with each one.
341  /// </summary>
342  ASPOSE_TASKS_SHARED_API const System::SharedPtr<RateCollection>& get_Rates() const;
343  /// <summary>
344  /// Gets a collection of resource assignments for this object.
345  /// </summary>
346  ASPOSE_TASKS_SHARED_API const System::SharedPtr<ResourceAssignmentCollection>& get_Assignments() const;
347  /// <summary>
348  /// Gets an instance of <see cref="TimephasedDataCollection"></see> class for this object.
349  /// </summary>
350  /// <remarks>Reading supported for XML format only.</remarks>
351  ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> get_TimephasedData();
352  /// <summary>
353  /// Sets an instance of <see cref="TimephasedDataCollection"></see> class for this object.
354  /// </summary>
355  /// <remarks>Reading supported for XML format only.</remarks>
356  ASPOSE_TASKS_SHARED_API void set_TimephasedData(const System::SharedPtr<TimephasedDataCollection>& value);
357  /// <summary>
358  /// Gets the flag indicating whether resource is a root resource.
359  /// Root resource is a special resource which is intended to support internals of
360  /// MS Project's formats and is not intended to be used directly from the user's code.
361  /// </summary>
362  virtual ASPOSE_TASKS_SHARED_API bool get_IsRoot();
363  /// <summary>
364  /// Gets a value of AccrueAt.
365  /// </summary>
366  ASPOSE_TASKS_SHARED_API CostAccrualType get_AccrueAt();
367  /// <summary>
368  /// Sets a value of AccrueAt.
369  /// </summary>
370  ASPOSE_TASKS_SHARED_API void set_AccrueAt(CostAccrualType value);
371  /// <summary>
372  /// Gets a value of ActiveDirectoryGuid.
373  /// </summary>
374  ASPOSE_TASKS_SHARED_API System::String get_ActiveDirectoryGuid();
375  /// <summary>
376  /// Sets a value of ActiveDirectoryGuid.
377  /// </summary>
378  ASPOSE_TASKS_SHARED_API void set_ActiveDirectoryGuid(const System::String& value);
379  /// <summary>
380  /// Gets a value of ActualCost.
381  /// </summary>
382  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualCost();
383  /// <summary>
384  /// Sets a value of ActualCost.
385  /// </summary>
386  ASPOSE_TASKS_SHARED_API void set_ActualCost(System::Decimal value);
387  /// <summary>
388  /// Gets a value of ActualOvertimeCost.
389  /// </summary>
390  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualOvertimeCost();
391  /// <summary>
392  /// Sets a value of ActualOvertimeCost.
393  /// </summary>
394  ASPOSE_TASKS_SHARED_API void set_ActualOvertimeCost(System::Decimal value);
395  /// <summary>
396  /// Gets a value of ActualOvertimeWork.
397  /// </summary>
398  ASPOSE_TASKS_SHARED_API Duration get_ActualOvertimeWork();
399  /// <summary>
400  /// Sets a value of ActualOvertimeWork.
401  /// </summary>
402  ASPOSE_TASKS_SHARED_API void set_ActualOvertimeWork(Duration value);
403  /// <summary>
404  /// Gets a value of ActualOvertimeWorkProtected.
405  /// </summary>
406  ASPOSE_TASKS_SHARED_API Duration get_ActualOvertimeWorkProtected();
407  /// <summary>
408  /// Sets a value of ActualOvertimeWorkProtected.
409  /// </summary>
410  ASPOSE_TASKS_SHARED_API void set_ActualOvertimeWorkProtected(Duration value);
411  /// <summary>
412  /// Gets a value of ActualWork.
413  /// </summary>
414  ASPOSE_TASKS_SHARED_API Duration get_ActualWork();
415  /// <summary>
416  /// Sets a value of ActualWork.
417  /// </summary>
418  ASPOSE_TASKS_SHARED_API void set_ActualWork(Duration value);
419  /// <summary>
420  /// Gets a value of ActualWorkProtected.
421  /// </summary>
422  ASPOSE_TASKS_SHARED_API Duration get_ActualWorkProtected();
423  /// <summary>
424  /// Sets a value of ActualWorkProtected.
425  /// </summary>
426  ASPOSE_TASKS_SHARED_API void set_ActualWorkProtected(Duration value);
427  /// <summary>
428  /// Gets a value of ACWP.
429  /// </summary>
430  ASPOSE_TASKS_SHARED_API double get_ACWP();
431  /// <summary>
432  /// Sets a value of ACWP.
433  /// </summary>
434  ASPOSE_TASKS_SHARED_API void set_ACWP(double value);
435  /// <summary>
436  /// Gets a value of AssignmentOwner.
437  /// </summary>
438  ASPOSE_TASKS_SHARED_API System::String get_AssignmentOwner();
439  /// <summary>
440  /// Sets a value of AssignmentOwner.
441  /// </summary>
442  ASPOSE_TASKS_SHARED_API void set_AssignmentOwner(const System::String& value);
443  /// <summary>
444  /// Gets a value of AssignmentOwnerGuid.
445  /// </summary>
446  ASPOSE_TASKS_SHARED_API System::String get_AssignmentOwnerGuid();
447  /// <summary>
448  /// Sets a value of AssignmentOwnerGuid.
449  /// </summary>
450  ASPOSE_TASKS_SHARED_API void set_AssignmentOwnerGuid(const System::String& value);
451  /// <summary>
452  /// Gets a value of AvailableFrom.
453  /// </summary>
454  ASPOSE_TASKS_SHARED_API System::DateTime get_AvailableFrom();
455  /// <summary>
456  /// Sets a value of AvailableFrom.
457  /// </summary>
458  ASPOSE_TASKS_SHARED_API void set_AvailableFrom(System::DateTime value);
459  /// <summary>
460  /// Gets a value of AvailableTo.
461  /// </summary>
462  ASPOSE_TASKS_SHARED_API System::DateTime get_AvailableTo();
463  /// <summary>
464  /// Sets a value of AvailableTo.
465  /// </summary>
466  ASPOSE_TASKS_SHARED_API void set_AvailableTo(System::DateTime value);
467  /// <summary>
468  /// Gets a value of BCWP.
469  /// </summary>
470  ASPOSE_TASKS_SHARED_API double get_BCWP();
471  /// <summary>
472  /// Sets a value of BCWP.
473  /// </summary>
474  ASPOSE_TASKS_SHARED_API void set_BCWP(double value);
475  /// <summary>
476  /// Gets a value of BCWS.
477  /// </summary>
478  ASPOSE_TASKS_SHARED_API double get_BCWS();
479  /// <summary>
480  /// Sets a value of BCWS.
481  /// </summary>
482  ASPOSE_TASKS_SHARED_API void set_BCWS(double value);
483  /// <summary>
484  /// Gets a value of BookingType.
485  /// </summary>
486  ASPOSE_TASKS_SHARED_API Aspose::Tasks::BookingType get_BookingType();
487  /// <summary>
488  /// Sets a value of BookingType.
489  /// </summary>
490  ASPOSE_TASKS_SHARED_API void set_BookingType(Aspose::Tasks::BookingType value);
491  /// <summary>
492  /// Gets a value of BudgetCost.
493  /// </summary>
494  ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetCost();
495  /// <summary>
496  /// Sets a value of BudgetCost.
497  /// </summary>
498  ASPOSE_TASKS_SHARED_API void set_BudgetCost(System::Decimal value);
499  /// <summary>
500  /// Gets a value of BudgetWork.
501  /// </summary>
502  ASPOSE_TASKS_SHARED_API Duration get_BudgetWork();
503  /// <summary>
504  /// Sets a value of BudgetWork.
505  /// </summary>
506  ASPOSE_TASKS_SHARED_API void set_BudgetWork(Duration value);
507  /// <summary>
508  /// Gets a value of Calendar.
509  /// </summary>
510  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::Calendar> get_Calendar();
511  /// <summary>
512  /// Sets a value of Calendar.
513  /// </summary>
514  ASPOSE_TASKS_SHARED_API void set_Calendar(const System::SharedPtr<Aspose::Tasks::Calendar>& value);
515  /// <summary>
516  /// Gets a value indicating whether CanLevel is set or not.
517  /// </summary>
518  ASPOSE_TASKS_SHARED_API NullableBool get_CanLevel();
519  /// <summary>
520  /// Sets a value indicating whether CanLevel is set or not.
521  /// </summary>
522  ASPOSE_TASKS_SHARED_API void set_CanLevel(NullableBool value);
523  /// <summary>
524  /// Gets a value of Code.
525  /// </summary>
526  ASPOSE_TASKS_SHARED_API System::String get_Code();
527  /// <summary>
528  /// Sets a value of Code.
529  /// </summary>
530  ASPOSE_TASKS_SHARED_API void set_Code(const System::String& value);
531  /// <summary>
532  /// Gets a value of Cost.
533  /// </summary>
534  ASPOSE_TASKS_SHARED_API System::Decimal get_Cost();
535  /// <summary>
536  /// Sets a value of Cost.
537  /// </summary>
538  ASPOSE_TASKS_SHARED_API void set_Cost(System::Decimal value);
539  /// <summary>
540  /// Gets a value of CostCenter.
541  /// </summary>
542  ASPOSE_TASKS_SHARED_API System::String get_CostCenter();
543  /// <summary>
544  /// Sets a value of CostCenter.
545  /// </summary>
546  ASPOSE_TASKS_SHARED_API void set_CostCenter(const System::String& value);
547  /// <summary>
548  /// Gets a value of CostPerUse.
549  /// </summary>
550  ASPOSE_TASKS_SHARED_API System::Decimal get_CostPerUse();
551  /// <summary>
552  /// Sets a value of CostPerUse.
553  /// </summary>
554  ASPOSE_TASKS_SHARED_API void set_CostPerUse(System::Decimal value);
555  /// <summary>
556  /// Gets a value of CostVariance.
557  /// </summary>
558  ASPOSE_TASKS_SHARED_API double get_CostVariance();
559  /// <summary>
560  /// Sets a value of CostVariance.
561  /// </summary>
562  ASPOSE_TASKS_SHARED_API void set_CostVariance(double value);
563  /// <summary>
564  /// Gets a value of Created.
565  /// </summary>
566  ASPOSE_TASKS_SHARED_API System::DateTime get_Created();
567  /// <summary>
568  /// Sets a value of Created.
569  /// </summary>
570  ASPOSE_TASKS_SHARED_API void set_Created(System::DateTime value);
571  /// <summary>
572  /// Gets a value of CV.
573  /// </summary>
574  ASPOSE_TASKS_SHARED_API double get_CV();
575  /// <summary>
576  /// Sets a value of CV.
577  /// </summary>
578  ASPOSE_TASKS_SHARED_API void set_CV(double value);
579  /// <summary>
580  /// Gets a value of EMailAddress.
581  /// </summary>
582  ASPOSE_TASKS_SHARED_API System::String get_EMailAddress();
583  /// <summary>
584  /// Sets a value of EMailAddress.
585  /// </summary>
586  ASPOSE_TASKS_SHARED_API void set_EMailAddress(const System::String& value);
587  /// <summary>
588  /// Gets a value of Finish.
589  /// </summary>
590  ASPOSE_TASKS_SHARED_API System::DateTime get_Finish();
591  /// <summary>
592  /// Sets a value of Finish.
593  /// </summary>
594  ASPOSE_TASKS_SHARED_API void set_Finish(System::DateTime value);
595  /// <summary>
596  /// Gets a value of Group.
597  /// </summary>
598  ASPOSE_TASKS_SHARED_API System::String get_Group();
599  /// <summary>
600  /// Sets a value of Group.
601  /// </summary>
602  ASPOSE_TASKS_SHARED_API void set_Group(const System::String& value);
603  /// <summary>
604  /// Gets a value of Guid.
605  /// </summary>
606  ASPOSE_TASKS_SHARED_API System::String get_Guid();
607  /// <summary>
608  /// Sets a value of Guid.
609  /// </summary>
610  ASPOSE_TASKS_SHARED_API void set_Guid(const System::String& value);
611  /// <summary>
612  /// Gets the title or explanatory text of a hyperlink associated with a resource.
613  /// </summary>
614  ASPOSE_TASKS_SHARED_API System::String get_Hyperlink() override;
615  /// <summary>
616  /// Sets the title or explanatory text of a hyperlink associated with a resource.
617  /// </summary>
618  ASPOSE_TASKS_SHARED_API void set_Hyperlink(System::String value) override;
619  /// <summary>
620  /// Gets the address for a hyperlink associated with a resource.
621  /// </summary>
622  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
623  ASPOSE_TASKS_SHARED_API System::String get_HyperlinkAddress() override;
624  /// <summary>
625  /// Sets the address for a hyperlink associated with a resource.
626  /// </summary>
627  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
628  ASPOSE_TASKS_SHARED_API void set_HyperlinkAddress(System::String value) override;
629  /// <summary>
630  /// Gets the specific location in a document in a hyperlink associated with a resource.
631  /// </summary>
632  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
633  ASPOSE_TASKS_SHARED_API System::String get_HyperlinkSubAddress() override;
634  /// <summary>
635  /// Sets the specific location in a document in a hyperlink associated with a resource.
636  /// </summary>
637  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
638  ASPOSE_TASKS_SHARED_API void set_HyperlinkSubAddress(System::String value) override;
639  /// <summary>
640  /// Gets a value of Id.
641  /// </summary>
642  ASPOSE_TASKS_SHARED_API int32_t get_Id();
643  /// <summary>
644  /// Sets a value of Id.
645  /// </summary>
646  ASPOSE_TASKS_SHARED_API void set_Id(int32_t value);
647  /// <summary>
648  /// Gets a value indicating whether Inactive is set or not.
649  /// </summary>
650  ASPOSE_TASKS_SHARED_API NullableBool get_Inactive();
651  /// <summary>
652  /// Sets a value indicating whether Inactive is set or not.
653  /// </summary>
654  ASPOSE_TASKS_SHARED_API void set_Inactive(NullableBool value);
655  /// <summary>
656  /// Gets a value of Initials.
657  /// </summary>
658  ASPOSE_TASKS_SHARED_API System::String get_Initials();
659  /// <summary>
660  /// Sets a value of Initials.
661  /// </summary>
662  ASPOSE_TASKS_SHARED_API void set_Initials(const System::String& value);
663  /// <summary>
664  /// Gets a value indicating whether IsBudget is set or not.
665  /// </summary>
666  ASPOSE_TASKS_SHARED_API NullableBool get_IsBudget();
667  /// <summary>
668  /// Sets a value indicating whether IsBudget is set or not.
669  /// </summary>
670  ASPOSE_TASKS_SHARED_API void set_IsBudget(NullableBool value);
671  /// <summary>
672  /// Gets a value indicating whether IsCostResource is set or not.
673  /// </summary>
674  ASPOSE_TASKS_SHARED_API NullableBool get_IsCostResource();
675  /// <summary>
676  /// Sets a value indicating whether IsCostResource is set or not.
677  /// </summary>
678  ASPOSE_TASKS_SHARED_API void set_IsCostResource(NullableBool value);
679  /// <summary>
680  /// Gets a value indicating whether IsEnterprise is set or not.
681  /// </summary>
682  ASPOSE_TASKS_SHARED_API NullableBool get_IsEnterprise();
683  /// <summary>
684  /// Sets a value indicating whether IsEnterprise is set or not.
685  /// </summary>
686  ASPOSE_TASKS_SHARED_API void set_IsEnterprise(NullableBool value);
687  /// <summary>
688  /// Gets a value indicating whether IsGeneric is set or not.
689  /// </summary>
690  ASPOSE_TASKS_SHARED_API NullableBool get_IsGeneric();
691  /// <summary>
692  /// Sets a value indicating whether IsGeneric is set or not.
693  /// </summary>
694  ASPOSE_TASKS_SHARED_API void set_IsGeneric(NullableBool value);
695  /// <summary>
696  /// Gets a value indicating whether IsNull is set or not.
697  /// </summary>
698  ASPOSE_TASKS_SHARED_API NullableBool get_IsNull();
699  /// <summary>
700  /// Sets a value indicating whether IsNull is set or not.
701  /// </summary>
702  ASPOSE_TASKS_SHARED_API void set_IsNull(NullableBool value);
703  /// <summary>
704  /// Gets a value indicating whether IsTeamAssignmentPool is set or not.
705  /// </summary>
706  ASPOSE_TASKS_SHARED_API bool get_IsTeamAssignmentPool();
707  /// <summary>
708  /// Sets a value indicating whether IsTeamAssignmentPool is set or not.
709  /// </summary>
710  ASPOSE_TASKS_SHARED_API void set_IsTeamAssignmentPool(bool value);
711  /// <summary>
712  /// Gets a value of MaterialLabel.
713  /// </summary>
714  ASPOSE_TASKS_SHARED_API System::String get_MaterialLabel();
715  /// <summary>
716  /// Sets a value of MaterialLabel.
717  /// </summary>
718  ASPOSE_TASKS_SHARED_API void set_MaterialLabel(const System::String& value);
719  /// <summary>
720  /// Gets a value of MaxUnits.
721  /// </summary>
722  ASPOSE_TASKS_SHARED_API double get_MaxUnits();
723  /// <summary>
724  /// Sets a value of MaxUnits.
725  /// </summary>
726  ASPOSE_TASKS_SHARED_API void set_MaxUnits(double value);
727  /// <summary>
728  /// Gets a value of Name.
729  /// </summary>
730  ASPOSE_TASKS_SHARED_API System::String get_Name();
731  /// <summary>
732  /// Sets a value of Name.
733  /// </summary>
734  ASPOSE_TASKS_SHARED_API void set_Name(const System::String& value);
735  /// <summary>
736  /// Gets a value of NotesRTF.
737  /// </summary>
738  ASPOSE_TASKS_SHARED_API System::String get_NotesRTF() override;
739  /// <summary>
740  /// Sets a value of NotesRTF.
741  /// </summary>
742  ASPOSE_TASKS_SHARED_API void set_NotesRTF(System::String value) override;
743  /// <summary>
744  /// Gets a value of NotesText.
745  /// </summary>
746  ASPOSE_TASKS_SHARED_API System::String get_NotesText() override;
747  /// <summary>
748  /// Sets a value of NotesText.
749  /// </summary>
750  ASPOSE_TASKS_SHARED_API void set_NotesText(System::String value) override;
751  /// <summary>
752  /// Gets a value indicating whether Overallocated is set or not.
753  /// </summary>
754  ASPOSE_TASKS_SHARED_API NullableBool get_Overallocated();
755  /// <summary>
756  /// Sets a value indicating whether Overallocated is set or not.
757  /// </summary>
758  ASPOSE_TASKS_SHARED_API void set_Overallocated(NullableBool value);
759  /// <summary>
760  /// Gets a value of OvertimeCost.
761  /// </summary>
762  ASPOSE_TASKS_SHARED_API System::Decimal get_OvertimeCost();
763  /// <summary>
764  /// Sets a value of OvertimeCost.
765  /// </summary>
766  ASPOSE_TASKS_SHARED_API void set_OvertimeCost(System::Decimal value);
767  /// <summary>
768  /// Gets a value of OvertimeRate.
769  /// </summary>
770  ASPOSE_TASKS_SHARED_API System::Decimal get_OvertimeRate();
771  /// <summary>
772  /// Sets a value of OvertimeRate.
773  /// </summary>
774  ASPOSE_TASKS_SHARED_API void set_OvertimeRate(System::Decimal value);
775  /// <summary>
776  /// Gets a value of OvertimeRateFormat.
777  /// </summary>
778  ASPOSE_TASKS_SHARED_API RateFormatType get_OvertimeRateFormat();
779  /// <summary>
780  /// Sets a value of OvertimeRateFormat.
781  /// </summary>
782  ASPOSE_TASKS_SHARED_API void set_OvertimeRateFormat(RateFormatType value);
783  /// <summary>
784  /// Gets a value of OvertimeWork.
785  /// </summary>
786  ASPOSE_TASKS_SHARED_API Duration get_OvertimeWork();
787  /// <summary>
788  /// Sets a value of OvertimeWork.
789  /// </summary>
790  ASPOSE_TASKS_SHARED_API void set_OvertimeWork(Duration value);
791  /// <summary>
792  /// Gets a value of PeakUnits.
793  /// </summary>
794  ASPOSE_TASKS_SHARED_API double get_PeakUnits();
795  /// <summary>
796  /// Sets a value of PeakUnits.
797  /// </summary>
798  ASPOSE_TASKS_SHARED_API void set_PeakUnits(double value);
799  /// <summary>
800  /// Gets a value of PercentWorkComplete.
801  /// </summary>
802  ASPOSE_TASKS_SHARED_API int32_t get_PercentWorkComplete();
803  /// <summary>
804  /// Sets a value of PercentWorkComplete.
805  /// </summary>
806  ASPOSE_TASKS_SHARED_API void set_PercentWorkComplete(int32_t value);
807  /// <summary>
808  /// Gets a value of Phonetics.
809  /// </summary>
810  ASPOSE_TASKS_SHARED_API System::String get_Phonetics();
811  /// <summary>
812  /// Sets a value of Phonetics.
813  /// </summary>
814  ASPOSE_TASKS_SHARED_API void set_Phonetics(const System::String& value);
815  /// <summary>
816  /// Gets a value of RegularWork.
817  /// </summary>
818  ASPOSE_TASKS_SHARED_API Duration get_RegularWork();
819  /// <summary>
820  /// Sets a value of RegularWork.
821  /// </summary>
822  ASPOSE_TASKS_SHARED_API void set_RegularWork(Duration value);
823  /// <summary>
824  /// Gets a value of RemainingCost.
825  /// </summary>
826  ASPOSE_TASKS_SHARED_API System::Decimal get_RemainingCost();
827  /// <summary>
828  /// Sets a value of RemainingCost.
829  /// </summary>
830  ASPOSE_TASKS_SHARED_API void set_RemainingCost(System::Decimal value);
831  /// <summary>
832  /// Gets a value of RemainingOvertimeCost.
833  /// </summary>
834  ASPOSE_TASKS_SHARED_API System::Decimal get_RemainingOvertimeCost();
835  /// <summary>
836  /// Sets a value of RemainingOvertimeCost.
837  /// </summary>
838  ASPOSE_TASKS_SHARED_API void set_RemainingOvertimeCost(System::Decimal value);
839  /// <summary>
840  /// Gets a value of RemainingOvertimeWork.
841  /// </summary>
842  ASPOSE_TASKS_SHARED_API Duration get_RemainingOvertimeWork();
843  /// <summary>
844  /// Sets a value of RemainingOvertimeWork.
845  /// </summary>
846  ASPOSE_TASKS_SHARED_API void set_RemainingOvertimeWork(Duration value);
847  /// <summary>
848  /// Gets a value of RemainingWork.
849  /// </summary>
850  ASPOSE_TASKS_SHARED_API Duration get_RemainingWork();
851  /// <summary>
852  /// Sets a value of RemainingWork.
853  /// </summary>
854  ASPOSE_TASKS_SHARED_API void set_RemainingWork(Duration value);
855  /// <summary>
856  /// Gets a value of StandardRate.
857  /// </summary>
858  ASPOSE_TASKS_SHARED_API System::Decimal get_StandardRate();
859  /// <summary>
860  /// Sets a value of StandardRate.
861  /// </summary>
862  ASPOSE_TASKS_SHARED_API void set_StandardRate(System::Decimal value);
863  /// <summary>
864  /// Gets a value of StandardRateFormat.
865  /// </summary>
866  ASPOSE_TASKS_SHARED_API RateFormatType get_StandardRateFormat();
867  /// <summary>
868  /// Sets a value of StandardRateFormat.
869  /// </summary>
870  ASPOSE_TASKS_SHARED_API void set_StandardRateFormat(RateFormatType value);
871  /// <summary>
872  /// Gets a value of Start.
873  /// </summary>
874  ASPOSE_TASKS_SHARED_API System::DateTime get_Start();
875  /// <summary>
876  /// Sets a value of Start.
877  /// </summary>
878  ASPOSE_TASKS_SHARED_API void set_Start(System::DateTime value);
879  /// <summary>
880  /// Gets a value of SV.
881  /// </summary>
882  ASPOSE_TASKS_SHARED_API double get_SV();
883  /// <summary>
884  /// Sets a value of SV.
885  /// </summary>
886  ASPOSE_TASKS_SHARED_API void set_SV(double value);
887  /// <summary>
888  /// Gets a value of Type.
889  /// </summary>
890  ASPOSE_TASKS_SHARED_API ResourceType get_Type();
891  /// <summary>
892  /// Sets a value of Type.
893  /// </summary>
894  ASPOSE_TASKS_SHARED_API void set_Type(ResourceType value);
895  /// <summary>
896  /// Gets a value of Uid.
897  /// </summary>
898  ASPOSE_TASKS_SHARED_API int32_t get_Uid();
899  /// <summary>
900  /// Sets a value of Uid.
901  /// </summary>
902  ASPOSE_TASKS_SHARED_API void set_Uid(int32_t value);
903  /// <summary>
904  /// Gets a value of WindowsUserAccount.
905  /// </summary>
906  ASPOSE_TASKS_SHARED_API System::String get_WindowsUserAccount();
907  /// <summary>
908  /// Sets a value of WindowsUserAccount.
909  /// </summary>
910  ASPOSE_TASKS_SHARED_API void set_WindowsUserAccount(const System::String& value);
911  /// <summary>
912  /// Gets a value of Work.
913  /// </summary>
914  ASPOSE_TASKS_SHARED_API Duration get_Work();
915  /// <summary>
916  /// Sets a value of Work.
917  /// </summary>
918  ASPOSE_TASKS_SHARED_API void set_Work(Duration value);
919  /// <summary>
920  /// Gets a value of Workgroup.
921  /// </summary>
922  ASPOSE_TASKS_SHARED_API WorkGroupType get_Workgroup();
923  /// <summary>
924  /// Sets a value of Workgroup.
925  /// </summary>
926  ASPOSE_TASKS_SHARED_API void set_Workgroup(WorkGroupType value);
927  /// <summary>
928  /// Gets a value of WorkVariance.
929  /// </summary>
930  ASPOSE_TASKS_SHARED_API double get_WorkVariance();
931  /// <summary>
932  /// Sets a value of WorkVariance.
933  /// </summary>
934  ASPOSE_TASKS_SHARED_API void set_WorkVariance(double value);
935 
936  /// <summary>
937  /// Returns a value indicating whether this instance is equal to a specified instance of the <see cref="Resource"></see> class.
938  /// </summary>
939  /// <param name="other">The specified instance of the <see cref="Resource"></see> class to compare with this instance.</param>
940  /// <returns><b>True</b> if the specified instance of the <see cref="Resource"></see> class has the same Uid value as this instance; otherwise, <b>false</b>.</returns>
941  ASPOSE_TASKS_SHARED_API bool Equals(System::SharedPtr<Resource> other) override;
942  /// <summary>
943  /// Returns a value indicating whether this instance is equal to a specified object.
944  /// </summary>
945  /// <param name="obj">The object to compare with this instance.</param>
946  /// <returns><b>True</b> if the specified object is a Resource that has the same Uid value as this instance; otherwise, <b>false</b>.</returns>
947  ASPOSE_TASKS_SHARED_API bool Equals(System::SharedPtr<System::Object> obj) override;
948  /// <summary>
949  /// Returns a hash code value for the instance of the <see cref="Resource"></see> class.
950  /// </summary>
951  /// <returns>returns a hash code value for this object.</returns>
952  ASPOSE_TASKS_SHARED_API int32_t GetHashCode() const override;
953  /// <summary>
954  /// Returns short string representation of the instance of the <see cref="Resource"></see> class.
955  /// The exact details of the representation are unspecified and subject to change.
956  /// </summary>
957  /// <returns>short string which represents resource object.</returns>
958  ASPOSE_TASKS_SHARED_API System::String ToString() const override;
959  /// <summary>
960  /// Returns the value to which the property is mapped in this container.
961  /// </summary>
962  /// <param name="key">the specified property key. <see cref="Rsc"></see> for getting the property key.</param>
963  /// <typeparam name="T">the type of the mapped value.</typeparam>
964  /// <returns>the value to which the property is mapped in this container.</returns>
965  template <typename T>
966  T Get(const Key<T, RscKey>& key) const
967  {
968  System::SharedPtr<System::Object> res;
969  if (this->GetCalculatedValue(key.get_KeyType(), res))
970  {
971  return System::ExplicitCast<T>(res);
972  }
973 
974  return this->container->template CheckPropAndGet<T>(key);
975  }
976 
977  /// <summary>
978  /// Maps the specified property to the specified value in this container.
979  /// </summary>
980  /// <param name="key">the specified property key. <see cref="Rsc"></see> for getting the property key.</param>
981  /// <param name="val">the value.</param>
982  /// <typeparam name="T">the type of the mapped value.</typeparam>
983  template <typename T>
984  void Set(const Key<T, RscKey>& key, const T& val)
985  {
986 
987  // ReSharper disable once RedundantCast
988  if (this->SetCalculatedValue(key.get_KeyType(), System::ExplicitCast<System::Object>(val)))
989  {
990  return;
991  }
992 
993  this->container->template CheckPropAndSet<T>(key, val);
994  }
995 
996  /// <summary>
997  /// Maps the specified property to the specified value in this container.
998  /// </summary>
999  /// <param name="key">the specified property key. <see cref="Rsc"></see> for getting the property key.</param>
1000  /// <param name="val">the value.</param>
1001  ASPOSE_TASKS_SHARED_API void Set(const Key<System::DateTime, RscKey>& key, const System::DateTime& val);
1002  /// <summary>
1003  /// Deletes a resource and its assignments from project.
1004  /// </summary>
1005  ASPOSE_TASKS_SHARED_API void Delete();
1006  /// <summary>
1007  /// Returns an instance of the <see cref="TimephasedDataCollection"></see> class for this object with the <see cref="TimephasedData"></see> values within given start and end dates of specified <see cref="TimephasedDataType"></see>.
1008  /// </summary>
1009  /// <param name="start">The start date for the time phased data.</param>
1010  /// <param name="end">The end date for the time phased data.</param>
1011  /// <param name="timephasedType">The type of time phased data (<see cref="Aspose::Tasks::TimephasedDataType"></see>).</param>
1012  /// <returns>List of <see cref="TimephasedData"></see>.</returns>
1013  ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> GetTimephasedData(System::DateTime start, System::DateTime end, TimephasedDataType timephasedType);
1014  /// <summary>
1015  /// Returns <see cref="TimephasedDataCollection"></see> for this object with <see cref="TimephasedData"></see>values within given start and end dates.
1016  /// </summary>
1017  /// <param name="start">The start date for the time phased data.</param>
1018  /// <param name="end">The end date for the time phased data.</param>
1019  /// <returns>List of <see cref="Aspose::Tasks::TimephasedData"></see>.</returns>
1020  ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> GetTimephasedData(System::DateTime start, System::DateTime end);
1021 
1022 protected:
1023 
1024  static ASPOSE_TASKS_SHARED_API System::Guid& RootResourceGuid();
1025  static ASPOSE_TASKS_SHARED_API System::Guid& UnassignedResourceGuid();
1026 
1027  /// <summary>
1028  /// Gets parent project for this container.
1029  /// </summary>
1030  ASPOSE_TASKS_SHARED_API void set_ParentProject(const System::SharedPtr<Project>& value);
1031  /// <summary>
1032  /// Gets the values of an extended attribute.
1033  /// </summary>
1034  /// <remarks>
1035  /// Two pieces of data are necessary - a pointer back to the extended attribute table
1036  /// which is specified either by the unique ID or the Field ID, and the value
1037  /// which is specified either with the value, or a pointer back to the value list.
1038  /// </remarks>
1039  ASPOSE_TASKS_SHARED_API void set_ExtendedAttributes(const System::SharedPtr<ExtendedAttributeCollection>& value);
1040  /// <summary>
1041  /// Gets a BaselineCollection instance for this object.
1042  /// The baseline values for a resource.
1043  /// </summary>
1044  ASPOSE_TASKS_SHARED_API void set_Baselines(const System::SharedPtr<BaselineCollection>& value);
1045  /// <summary>
1046  /// Gets an OutlineCodeCollection object.
1047  /// The value of an outline code.
1048  /// </summary>
1049  /// <remarks>
1050  /// Two pieces of data are necessary - a pointer to the outline code table that
1051  /// is specified by the FieldID, and the value that is specified either by
1052  /// the ValueID or ValueGUID pointer to the value list.
1053  /// </remarks>
1054  ASPOSE_TASKS_SHARED_API void set_OutlineCode(const System::SharedPtr<OutlineCodeCollection>& value);
1055  /// <summary>
1056  /// Gets a the instance of the <see cref="AvailabilityPeriodCollection"></see> class.
1057  /// The collection of periods during which a resource is available.
1058  /// </summary>
1059  ASPOSE_TASKS_SHARED_API void set_AvailabilityPeriods(const System::SharedPtr<AvailabilityPeriodCollection>& value);
1060  /// <summary>
1061  /// Gets a the instance of the <see cref="RateCollection"></see> class for this object.
1062  /// The collection of periods and rates associated with each one.
1063  /// </summary>
1064  ASPOSE_TASKS_SHARED_API void set_Rates(const System::SharedPtr<RateCollection>& value);
1065  /// <summary>
1066  /// Gets a collection of resource assignments for this object.
1067  /// </summary>
1068  ASPOSE_TASKS_SHARED_API void set_Assignments(const System::SharedPtr<ResourceAssignmentCollection>& value);
1069  /// <summary>
1070  /// Gets resource properties collection.
1071  /// </summary>
1072  ASPOSE_TASKS_SHARED_API const System::SharedPtr<Properties::ResourcePropertyCollection>& get_Properties() const;
1073  ASPOSE_TASKS_SHARED_API System::Decimal get_BaselineCost();
1074 
1075  ASPOSE_TASKS_SHARED_API Resource(const System::SharedPtr<Project>& parentProject);
1076 
1077  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Resource, CODEPORTING_ARGS(const System::SharedPtr<Project>& parentProject));
1078 
1079  /// <summary>
1080  /// Initializes a new instance of the <see cref="Resource"></see> class with the specified name.
1081  /// </summary>
1082  /// <param name="name">the specified resource name.</param>
1083  /// <param name="parentProject">The parent project.</param>
1084  ASPOSE_TASKS_SHARED_API Resource(const System::String& name, const System::SharedPtr<Project>& parentProject);
1085 
1086  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Resource, CODEPORTING_ARGS(const System::String& name, const System::SharedPtr<Project>& parentProject));
1087 
1088  ASPOSE_TASKS_SHARED_API Resource();
1089 
1090  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Resource, CODEPORTING_ARGS());
1091  template <typename T>
1092  void SetDirectly(Key<T, RscKey> key, T val)
1093  {
1094  this->container->template CheckPropAndSet<T>(key, val);
1095  }
1096 
1097  /// <summary>
1098  /// Sets Availability in binary format (which is stored in MSP Server database)
1099  /// </summary>
1100  ASPOSE_TASKS_SHARED_API void SetAvailability(const System::ArrayPtr<uint8_t>& value);
1101  ASPOSE_TASKS_SHARED_API bool SetCalculatedValue(RscKey keyType, const System::SharedPtr<System::Object>& v);
1102  ASPOSE_TASKS_SHARED_API bool GetCalculatedValue(RscKey key, System::SharedPtr<System::Object>& res) const;
1103  ASPOSE_TASKS_SHARED_API void SetBaseline(BaselineType baselineType);
1104  ASPOSE_TASKS_SHARED_API void ClearActuals();
1105  ASPOSE_TASKS_SHARED_API double GetMaxUnitsForDate(System::DateTime date);
1106  ASPOSE_TASKS_SHARED_API System::String GetStandardRateString();
1107  ASPOSE_TASKS_SHARED_API System::String GetOvertimeRateString();
1108 
1109  virtual ASPOSE_TASKS_SHARED_API ~Resource();
1110 
1111  #ifdef ASPOSE_GET_SHARED_MEMBERS
1112  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
1113  #endif
1114 
1115 
1116 private:
1117 
1118  System::SharedPtr<PropertyContainer<RscKey>> container;
1119  System::SharedPtr<OutlineCodeCollection> outlineCode;
1120  System::SharedPtr<TimephasedDataCollection> timephasedData;
1121  System::WeakPtr<Project> pr_ParentProject;
1122  System::SharedPtr<ExtendedAttributeCollection> pr_ExtendedAttributes;
1123  System::SharedPtr<BaselineCollection> pr_Baselines;
1124  System::SharedPtr<AvailabilityPeriodCollection> pr_AvailabilityPeriods;
1125  System::SharedPtr<RateCollection> pr_Rates;
1126  System::SharedPtr<ResourceAssignmentCollection> pr_Assignments;
1127 
1128  ASPOSE_TASKS_SHARED_API bool get_HasChildren() override;
1129  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<IExtendedAttributeParent>>> get_Items() override;
1130 
1131  System::SharedPtr<Properties::ResourcePropertyCollection> pr_Properties;
1132 
1133  /// <summary>
1134  /// Gets resource properties collection.
1135  /// </summary>
1136  ASPOSE_TASKS_SHARED_API void set_Properties(const System::SharedPtr<Properties::ResourcePropertyCollection>& value);
1137 
1138  void InitBools();
1139  void SetBaselineValues(const System::SharedPtr<Baseline>& bl);
1140  void SetBaselineTimephased(const System::SharedPtr<Baseline>& bl);
1141  void ClearBaselineTD(TimephasedDataType workType, TimephasedDataType costType);
1142  void InitDefaultValues();
1143  void FillBaselineTDs(System::DateTime start, System::DateTime end, TimephasedDataType timephasedType, const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& timephased);
1144  void FillResourceCostTDs(System::DateTime start, System::DateTime end, const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& timephased);
1145  void FillResourceWorkTDs(System::DateTime start, System::DateTime end, const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& timephased);
1146  void AddBaselineTDs();
1147 
1148 };
1149 
1150 } // namespace Tasks
1151 } // namespace Aspose
1152 
1153 
Allows to specify additional options when saving project to CSV.
Definition: CsvOptions.h:52
T Get(const Key< T, RscKey > &key) const
Returns the value to which the property is mapped in this container.
Definition: Resource.h:966
Represents duration in a project.
Definition: Duration.h:162
K get_KeyType() const
Gets the key of the property.
Definition: Key.h:119
Represents a collection of Resource objects.
Definition: ResourceCollection.h:101
A class for boolean values with possibility to check whether the value was defined or not...
Definition: NullableBool.h:21
Represents a project.
Definition: Project.h:551
Represents a resource assignment in a project.
Definition: ResourceAssignment.h:221
void Set(const Key< T, RscKey > &key, const T &val)
Maps the specified property to the specified value in this container.
Definition: Resource.h:984
Represents a property key of a class of the specified type. An instance of this class is used when ge...
Definition: Asn.h:19
Represents a collection of ResourceAssignment objects.
Definition: ResourceAssignmentCollection.h:101
Represents a resource in a project.
Definition: Resource.h:206