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