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