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