8 #include <system/nullable.h>
9 #include <system/multicast_delegate.h>
10 #include <system/iequatable.h>
11 #include <system/guid.h>
13 #include "aspose.tasks.cpp/PropertyContainer.h"
14 #include "aspose.tasks.cpp/IEntityWithTd.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/TimephasedData.h"
19 #include "aspose.tasks.cpp/Task.h"
20 #include "aspose.tasks.cpp/Resource.h"
21 #include "aspose.tasks.cpp/Key.h"
22 #include "aspose.tasks.cpp/IExtendedAttributeParent.h"
23 #include "aspose.tasks.cpp/Enums/AsnKey.h"
24 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
30 class AssignmentBaseline;
31 class AssignmentBaselineCollection;
32 class AutoRecalculationState;
33 enum class BaselineType;
34 enum class BookingType;
35 namespace Calculations
37 class ActualsByPercentCompleteUpdater;
38 class ActualTimephasedDataUpdater;
39 class AssignmentProjection;
40 class IWorkContourIterator;
41 class RescheduleIncompleteWorkCalculator;
42 class ResourceAssignmentCalculator;
43 class ResourceAssignmentCostCalculator;
44 class ResourceAssignmentPeakCalculator;
45 class ResourceAssignmentRateByDateEnumerator;
46 class ResourceAssignmentVarianceCalculator;
47 class ResourceAssignmentWorkCalculator;
48 class ResourceOverAllocationCalculator;
49 class ResourceWorkCalculator;
50 class TaskByAssignmentCalculator;
52 class TaskStopResumeCalculator;
53 class TimephasedDataCalculator;
56 namespace Connectivity
58 class MpdAssignmentBaselineMapper;
59 class MpdAssignmentMapper;
60 template <
typename>
class MpdField;
61 class MspAssignmentBaseLineMapper;
62 class MspAssignmentMapper;
63 class PmResourceAssignmentMapper;
65 class DatesCalculator;
67 class EvaluationModeDatesResetter;
69 class ExtendedAttributeCollection;
72 class ResourceAssignmentValidByTaskFilter;
73 class ResourceAssignmentValidMaterialByTaskFilter;
74 class ResourceAssignmentValidWorkByTaskFilter;
76 class FixedDurationEffortDrivenTaskPlanner;
77 class FixedDurationTaskPlanner;
78 class FixedWorkTaskPlanner;
83 class HtmlResourceAssignmentBaseLineTableReader;
84 class HtmlResourceAssignmentTableReader;
90 class AssignmentExtendedAttributeFlagOffsets;
93 class MPP12ResourceAssignmentWriter;
94 template <
typename>
class MPP14AsXResourceAssignmentReader;
96 class MPP14ResourceAssignmentWriter;
97 class MPP14TaskWriter;
99 class MPP9ResourceAssignmentReader;
100 class MPP9ResourceAssignmentWriter;
101 class MPPAssignmentExtendedAttributeReader;
103 class MPPResourceAssignmentWriter;
104 class MPPTimephasedDataReader;
105 class MppTimephasedDataWriter;
107 namespace PrimaveraXml
109 class PrimaveraAssignmentsNodeReader;
113 namespace InternalApi
117 class AssignmentContourDataMapper;
118 class ProjectAssignmentsMapper;
124 class XerAssignmentReader;
128 class ResourceAssignmentFactory;
129 class ResourceAssignmentNodeReader;
130 class ResourceAssignmentNodeWriter;
135 class LevelingAlgorithm;
138 class PercentCompleteCalculator;
141 class ProjectWorkUpdater;
143 enum class RateScaleType;
145 namespace Recalculation
147 class TaskSplitCalculator;
149 class ResourceAssignmentCollection;
150 class ResourceAssignmentTimephasedDataCollection;
153 class HtmlResourceAssignmentBaseLineTable;
154 class PrimaveraAssignmentNodeWriter;
155 class TemplateWriter;
156 class XerAssignmentTable;
160 class FromFinishScheduler;
161 class FromStartScheduler;
163 class SplitPartCollection;
164 class SplitsCalculator;
166 class TaskBaselineCollection;
168 class TaskPlannerAssignmentManager;
171 class TimephasedDataByScaledEnumerator;
172 class TimeScaledWorkContourBuilder;
174 class TimephasedDataByScaledMaker;
175 class TimephasedDataCollection;
176 class TimephasedDataMaker;
177 enum class TimephasedDataType : int8_t;
178 class TimephasedWorkCostSelector;
179 class TimeScaledExceptions;
180 class TimeScaledParentWorkUnit;
181 class TimeScaledWorkUnit;
184 template <
typename T>
using ConditionDelegate = System::MulticastDelegate<bool(T)>;
185 class DateTimeInterval;
187 namespace Visualization
189 class ApsResourceUsageBuilder;
190 class ApsResourceUsagePage;
191 class ApsTaskUsageBuilder;
193 class AssignmentToColumnText;
194 template <
typename>
class FieldToColumnText;
195 class TaskToColumnText;
197 enum class WorkContourType;
198 class WorkingTimeCollection;
203 namespace Collections
207 template <
typename>
class IEnumerable;
208 template <
typename>
class IList;
209 template <
typename>
class List;
225 class ASPOSE_TASKS_SHARED_CLASS
ResourceAssignment :
public Aspose::Tasks::IContainer<Aspose::Tasks::AsnKey>,
public System::IEquatable<System::SharedPtr<Aspose::Tasks::ResourceAssignment>>,
public Aspose::Tasks::IExtendedAttributeParent,
public Aspose::Tasks::IEntityWithTd,
public Aspose::Tasks::IEntityWithNotes,
public Aspose::Tasks::IEntityWithHyperlink
228 typedef Aspose::Tasks::IContainer<Aspose::Tasks::AsnKey> BaseType;
229 typedef System::IEquatable<System::SharedPtr<Aspose::Tasks::ResourceAssignment>> BaseType1;
230 typedef Aspose::Tasks::IExtendedAttributeParent BaseType2;
232 typedef Aspose::Tasks::IEntityWithNotes BaseType4;
233 typedef Aspose::Tasks::IEntityWithHyperlink BaseType5;
235 typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2, BaseType3, BaseType4, BaseType5> ThisTypeBaseTypesInfo;
236 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
239 friend class Aspose::Tasks::Calculations::ActualTimephasedDataUpdater;
240 friend class Aspose::Tasks::Calculations::AssignmentProjection;
241 friend class Aspose::Tasks::Calculations::RescheduleIncompleteWorkCalculator;
242 friend class Aspose::Tasks::Calculations::TaskStopResumeCalculator;
243 friend class Aspose::Tasks::Calculations::ResourceOverAllocationCalculator;
244 friend class Aspose::Tasks::Calculations::ResourceAssignmentCalculator;
245 friend class Aspose::Tasks::Calculations::ResourceAssignmentCostCalculator;
246 friend class Aspose::Tasks::Calculations::ResourceAssignmentPeakCalculator;
247 friend class Aspose::Tasks::Calculations::ResourceAssignmentWorkCalculator;
248 friend class Aspose::Tasks::Calculations::ResourceWorkCalculator;
249 friend class Aspose::Tasks::Calculations::ActualsByPercentCompleteUpdater;
250 friend class Aspose::Tasks::Calculations::TaskByAssignmentCalculator;
251 friend class Aspose::Tasks::Calculations::TaskCalculator;
252 friend class Aspose::Tasks::Calculations::ResourceAssignmentVarianceCalculator;
253 friend class Aspose::Tasks::Calculations::TimephasedDataCalculator;
254 friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraAssignmentsNodeReader;
255 friend class Aspose::Tasks::Leveling::LevelingAlgorithm;
258 friend class Aspose::Tasks::TimephasedDataByScaledMaker;
259 friend class Aspose::Tasks::Timephased::TimeScaledWorkContourBuilder;
260 friend class Aspose::Tasks::Timephased::TimephasedDataByScaledEnumerator;
261 friend class Aspose::Tasks::Filters::ResourceAssignmentValidByTaskFilter;
262 friend class Aspose::Tasks::Filters::ResourceAssignmentValidMaterialByTaskFilter;
263 friend class Aspose::Tasks::Filters::ResourceAssignmentValidWorkByTaskFilter;
264 friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::AssignmentContourDataMapper;
265 friend class Aspose::Tasks::IO::Xml::ResourceAssignmentFactory;
266 friend class Aspose::Tasks::EVCalculator;
267 friend class Aspose::Tasks::Connectivity::MpdAssignmentBaselineMapper;
268 friend class Aspose::Tasks::Connectivity::MpdAssignmentMapper;
269 template<
typename FT0>
friend class Aspose::Tasks::Connectivity::MpdField;
270 friend class Aspose::Tasks::Connectivity::MspAssignmentBaseLineMapper;
271 friend class Aspose::Tasks::Connectivity::MspAssignmentMapper;
272 friend class Aspose::Tasks::Connectivity::PmResourceAssignmentMapper;
273 friend class Aspose::Tasks::IO::Html::HtmlResourceAssignmentBaseLineTableReader;
274 friend class Aspose::Tasks::IO::Html::HtmlResourceAssignmentTableReader;
275 friend class Aspose::Tasks::Visualization::ApsResourceUsagePage;
276 friend class Aspose::Tasks::Visualization::ApsUsagePage;
277 friend class Aspose::Tasks::IO::MSProject::MPPAssignmentExtendedAttributeReader;
278 friend class Aspose::Tasks::IO::MSProject::MPP12Reader;
279 friend class Aspose::Tasks::IO::MSProject::MPPReader;
280 friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentReader;
281 template<
typename FT0>
friend class Aspose::Tasks::IO::MSProject::MPP14AsXResourceAssignmentReader;
282 friend class Aspose::Tasks::IO::MSProject::MPP14Reader;
283 friend class Aspose::Tasks::IO::MSProject::MPP14ResourceAssignmentWriter;
284 friend class Aspose::Tasks::IO::MSProject::MPP14TaskWriter;
285 friend class Aspose::Tasks::IO::MSProject::MPP9Reader;
286 friend class Aspose::Tasks::IO::MSProject::Metadata::AssignmentExtendedAttributeFlagOffsets;
287 friend class Aspose::Tasks::IO::MSProject::MPPTimephasedDataReader;
288 friend class Aspose::Tasks::IO::MSProject::MPP12ResourceAssignmentWriter;
289 friend class Aspose::Tasks::IO::MSProject::MPPResourceAssignmentWriter;
290 friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentWriter;
291 friend class Aspose::Tasks::IO::MSProject::MppTimephasedDataWriter;
292 friend class Aspose::Tasks::IO::Xer::XerAssignmentReader;
293 friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectAssignmentsMapper;
294 friend class Aspose::Tasks::IO::Xml::ResourceAssignmentNodeReader;
295 friend class Aspose::Tasks::IO::Xml::ResourceAssignmentNodeWriter;
296 friend class Aspose::Tasks::AutoRecalculationState;
297 friend class Aspose::Tasks::ProjectState;
298 friend class Aspose::Tasks::DatesCalculator;
299 friend class Aspose::Tasks::EvaluationModeDatesResetter;
300 friend class Aspose::Tasks::TaskPlannerAssignmentManager;
301 friend class Aspose::Tasks::FixedDurationEffortDrivenTaskPlanner;
302 friend class Aspose::Tasks::TaskPlanner;
303 friend class Aspose::Tasks::FixedDurationTaskPlanner;
304 friend class Aspose::Tasks::FixedWorkTaskPlanner;
305 friend class Aspose::Tasks::ManualState;
306 friend class Aspose::Tasks::PercentCompleteCalculator;
307 friend class Aspose::Tasks::ProjectWorkUpdater;
308 friend class Aspose::Tasks::SplitsCalculator;
309 friend class Aspose::Tasks::Recalculation::TaskSplitCalculator;
311 friend class Aspose::Tasks::ResourceAssignmentTimephasedDataCollection;
312 friend class Aspose::Tasks::Saving::HtmlResourceAssignmentBaseLineTable;
313 friend class Aspose::Tasks::Saving::XerAssignmentTable;
314 friend class Aspose::Tasks::Saving::PrimaveraAssignmentNodeWriter;
315 friend class Aspose::Tasks::Saving::TemplateWriter;
316 friend class Aspose::Tasks::Scheduling::FromFinishScheduler;
317 friend class Aspose::Tasks::Scheduling::FromStartScheduler;
319 friend class Aspose::Tasks::TimephasedDataMaker;
320 friend class Aspose::Tasks::TimephasedWorkCostSelector;
321 friend class Aspose::Tasks::Visualization::ApsResourceUsageBuilder;
322 friend class Aspose::Tasks::Visualization::ApsTaskUsageBuilder;
323 friend class Aspose::Tasks::Visualization::AssignmentToColumnText;
324 template<
typename FT0>
friend class Aspose::Tasks::Visualization::FieldToColumnText;
325 friend class Aspose::Tasks::Visualization::TaskToColumnText;
326 friend class Aspose::Tasks::Calculations::ResourceAssignmentRateByDateEnumerator;
333 ASPOSE_TASKS_SHARED_API
const System::SharedPtr<Aspose::Tasks::Task>& get_Task()
const;
337 ASPOSE_TASKS_SHARED_API
void set_Task(
const System::SharedPtr<Aspose::Tasks::Task>& value);
341 ASPOSE_TASKS_SHARED_API
const System::SharedPtr<Aspose::Tasks::Resource>& get_Resource()
const;
345 ASPOSE_TASKS_SHARED_API
void set_Resource(
const System::SharedPtr<Aspose::Tasks::Resource>& value);
349 ASPOSE_TASKS_SHARED_API System::Nullable<System::Guid> get_Guid()
const;
353 ASPOSE_TASKS_SHARED_API
void set_Guid(System::Nullable<System::Guid> value);
357 ASPOSE_TASKS_SHARED_API
const System::SharedPtr<Project>& get_ParentProject()
const override;
362 ASPOSE_TASKS_SHARED_API System::SharedPtr<AssignmentBaselineCollection> get_Baselines();
367 ASPOSE_TASKS_SHARED_API System::SharedPtr<ExtendedAttributeCollection> get_ExtendedAttributes()
override;
372 ASPOSE_TASKS_SHARED_API
void set_ExtendedAttributes(
const System::SharedPtr<ExtendedAttributeCollection>& value);
376 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> get_TimephasedData();
380 ASPOSE_TASKS_SHARED_API
void set_TimephasedData(
const System::SharedPtr<TimephasedDataCollection>& value);
384 ASPOSE_TASKS_SHARED_API int32_t get_Uid()
override;
388 ASPOSE_TASKS_SHARED_API
void set_Uid(int32_t value);
392 ASPOSE_TASKS_SHARED_API int32_t get_PercentWorkComplete();
396 ASPOSE_TASKS_SHARED_API
void set_PercentWorkComplete(int32_t value);
400 ASPOSE_TASKS_SHARED_API System::Decimal get_ActualCost();
404 ASPOSE_TASKS_SHARED_API
void set_ActualCost(System::Decimal value);
408 ASPOSE_TASKS_SHARED_API System::DateTime get_ActualFinish();
412 ASPOSE_TASKS_SHARED_API
void set_ActualFinish(System::DateTime value);
416 ASPOSE_TASKS_SHARED_API System::Decimal get_ActualOvertimeCost();
420 ASPOSE_TASKS_SHARED_API
void set_ActualOvertimeCost(System::Decimal value);
424 ASPOSE_TASKS_SHARED_API System::DateTime get_ActualStart();
428 ASPOSE_TASKS_SHARED_API
void set_ActualStart(System::DateTime value);
432 ASPOSE_TASKS_SHARED_API
Duration get_ActualWork();
436 ASPOSE_TASKS_SHARED_API
void set_ActualWork(
Duration value);
440 ASPOSE_TASKS_SHARED_API
double get_ACWP();
444 ASPOSE_TASKS_SHARED_API
void set_ACWP(
double value);
448 ASPOSE_TASKS_SHARED_API
bool get_Confirmed();
452 ASPOSE_TASKS_SHARED_API
void set_Confirmed(
bool value);
456 ASPOSE_TASKS_SHARED_API System::Decimal get_Cost();
460 ASPOSE_TASKS_SHARED_API
void set_Cost(System::Decimal value);
464 ASPOSE_TASKS_SHARED_API RateType get_CostRateTableType();
468 ASPOSE_TASKS_SHARED_API
void set_CostRateTableType(RateType value);
472 ASPOSE_TASKS_SHARED_API
double get_CostVariance();
476 ASPOSE_TASKS_SHARED_API
void set_CostVariance(
double value);
480 ASPOSE_TASKS_SHARED_API
double get_CV();
484 ASPOSE_TASKS_SHARED_API
void set_CV(
double value);
488 ASPOSE_TASKS_SHARED_API
Duration get_Delay();
492 ASPOSE_TASKS_SHARED_API
void set_Delay(
Duration value);
496 ASPOSE_TASKS_SHARED_API System::DateTime get_Finish();
500 ASPOSE_TASKS_SHARED_API
void set_Finish(System::DateTime value);
504 ASPOSE_TASKS_SHARED_API
Duration get_FinishVariance();
508 ASPOSE_TASKS_SHARED_API
void set_FinishVariance(
Duration value);
512 ASPOSE_TASKS_SHARED_API System::String get_Hyperlink()
override;
516 ASPOSE_TASKS_SHARED_API
void set_Hyperlink(System::String value)
override;
520 ASPOSE_TASKS_SHARED_API System::String get_HyperlinkAddress()
override;
524 ASPOSE_TASKS_SHARED_API
void set_HyperlinkAddress(System::String value)
override;
528 ASPOSE_TASKS_SHARED_API System::String get_HyperlinkSubAddress()
override;
532 ASPOSE_TASKS_SHARED_API
void set_HyperlinkSubAddress(System::String value)
override;
536 ASPOSE_TASKS_SHARED_API
Duration get_WorkVariance();
540 ASPOSE_TASKS_SHARED_API
void set_WorkVariance(
Duration value);
544 ASPOSE_TASKS_SHARED_API
bool get_HasFixedRateUnits();
548 ASPOSE_TASKS_SHARED_API
void set_HasFixedRateUnits(
bool value);
552 ASPOSE_TASKS_SHARED_API
bool get_FixedMaterial();
556 ASPOSE_TASKS_SHARED_API
void set_FixedMaterial(
bool value);
560 ASPOSE_TASKS_SHARED_API
Duration get_LevelingDelay();
564 ASPOSE_TASKS_SHARED_API
void set_LevelingDelay(
Duration value);
568 ASPOSE_TASKS_SHARED_API
bool get_LinkedFields();
572 ASPOSE_TASKS_SHARED_API
void set_LinkedFields(
bool value);
576 ASPOSE_TASKS_SHARED_API
bool get_Milestone();
580 ASPOSE_TASKS_SHARED_API
void set_Milestone(
bool value);
584 ASPOSE_TASKS_SHARED_API System::String get_NotesText()
override;
588 ASPOSE_TASKS_SHARED_API
void set_NotesText(System::String value)
override;
593 ASPOSE_TASKS_SHARED_API System::String get_NotesRTF()
override;
598 ASPOSE_TASKS_SHARED_API
void set_NotesRTF(System::String value)
override;
602 ASPOSE_TASKS_SHARED_API
bool get_Overallocated();
606 ASPOSE_TASKS_SHARED_API
void set_Overallocated(
bool value);
610 ASPOSE_TASKS_SHARED_API System::Decimal get_OvertimeCost();
614 ASPOSE_TASKS_SHARED_API
void set_OvertimeCost(System::Decimal value);
618 ASPOSE_TASKS_SHARED_API
Duration get_OvertimeWork();
622 ASPOSE_TASKS_SHARED_API
void set_OvertimeWork(
Duration value);
626 ASPOSE_TASKS_SHARED_API
double get_PeakUnits();
630 ASPOSE_TASKS_SHARED_API
void set_PeakUnits(
double value);
634 ASPOSE_TASKS_SHARED_API
Duration get_RegularWork();
638 ASPOSE_TASKS_SHARED_API
void set_RegularWork(
Duration value);
642 ASPOSE_TASKS_SHARED_API System::Decimal get_RemainingCost();
646 ASPOSE_TASKS_SHARED_API
void set_RemainingCost(System::Decimal value);
650 ASPOSE_TASKS_SHARED_API System::Decimal get_RemainingOvertimeCost();
654 ASPOSE_TASKS_SHARED_API
void set_RemainingOvertimeCost(System::Decimal value);
658 ASPOSE_TASKS_SHARED_API
Duration get_RemainingOvertimeWork();
662 ASPOSE_TASKS_SHARED_API
void set_RemainingOvertimeWork(
Duration value);
666 ASPOSE_TASKS_SHARED_API
Duration get_RemainingWork();
670 ASPOSE_TASKS_SHARED_API
void set_RemainingWork(
Duration value);
674 ASPOSE_TASKS_SHARED_API
bool get_ResponsePending();
678 ASPOSE_TASKS_SHARED_API
void set_ResponsePending(
bool value);
682 ASPOSE_TASKS_SHARED_API System::DateTime get_Start()
override;
686 ASPOSE_TASKS_SHARED_API
void set_Start(System::DateTime value);
690 ASPOSE_TASKS_SHARED_API System::DateTime get_Stop();
694 ASPOSE_TASKS_SHARED_API
void set_Stop(System::DateTime value);
698 ASPOSE_TASKS_SHARED_API System::DateTime get_Resume();
702 ASPOSE_TASKS_SHARED_API
void set_Resume(System::DateTime value);
706 ASPOSE_TASKS_SHARED_API
Duration get_StartVariance();
710 ASPOSE_TASKS_SHARED_API
void set_StartVariance(
Duration value);
714 ASPOSE_TASKS_SHARED_API
bool get_Summary();
718 ASPOSE_TASKS_SHARED_API
void set_Summary(
bool value);
722 ASPOSE_TASKS_SHARED_API
double get_SV();
726 ASPOSE_TASKS_SHARED_API
void set_SV(
double value);
730 ASPOSE_TASKS_SHARED_API
double get_Units();
734 ASPOSE_TASKS_SHARED_API
void set_Units(
double value);
738 ASPOSE_TASKS_SHARED_API
bool get_UpdateNeeded();
742 ASPOSE_TASKS_SHARED_API
void set_UpdateNeeded(
bool value);
746 ASPOSE_TASKS_SHARED_API
double get_VAC();
750 ASPOSE_TASKS_SHARED_API
void set_VAC(
double value);
754 ASPOSE_TASKS_SHARED_API
Duration get_Work();
758 ASPOSE_TASKS_SHARED_API
void set_Work(
Duration value);
762 ASPOSE_TASKS_SHARED_API WorkContourType get_WorkContour();
766 ASPOSE_TASKS_SHARED_API
void set_WorkContour(WorkContourType value);
770 ASPOSE_TASKS_SHARED_API
double get_BCWS();
774 ASPOSE_TASKS_SHARED_API
void set_BCWS(
double value);
778 ASPOSE_TASKS_SHARED_API
double get_BCWP();
782 ASPOSE_TASKS_SHARED_API
void set_BCWP(
double value);
786 ASPOSE_TASKS_SHARED_API Aspose::Tasks::BookingType get_BookingType();
790 ASPOSE_TASKS_SHARED_API
void set_BookingType(Aspose::Tasks::BookingType value);
794 ASPOSE_TASKS_SHARED_API
Duration get_ActualWorkProtected();
798 ASPOSE_TASKS_SHARED_API
void set_ActualWorkProtected(
Duration value);
802 ASPOSE_TASKS_SHARED_API
Duration get_ActualOvertimeWorkProtected();
806 ASPOSE_TASKS_SHARED_API
void set_ActualOvertimeWorkProtected(
Duration value);
810 ASPOSE_TASKS_SHARED_API
Duration get_ActualOvertimeWork();
814 ASPOSE_TASKS_SHARED_API
void set_ActualOvertimeWork(
Duration value);
818 ASPOSE_TASKS_SHARED_API System::DateTime get_Created();
822 ASPOSE_TASKS_SHARED_API
void set_Created(System::DateTime value);
826 ASPOSE_TASKS_SHARED_API System::String get_AssignmentOwner();
830 ASPOSE_TASKS_SHARED_API
void set_AssignmentOwner(
const System::String& value);
834 ASPOSE_TASKS_SHARED_API System::String get_AssignmentOwnerGuid();
838 ASPOSE_TASKS_SHARED_API
void set_AssignmentOwnerGuid(
const System::String& value);
842 ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetCost();
846 ASPOSE_TASKS_SHARED_API
void set_BudgetCost(System::Decimal value);
850 ASPOSE_TASKS_SHARED_API
Duration get_BudgetWork();
854 ASPOSE_TASKS_SHARED_API
void set_BudgetWork(
Duration value);
858 ASPOSE_TASKS_SHARED_API RateScaleType get_RateScale();
862 ASPOSE_TASKS_SHARED_API
void set_RateScale(RateScaleType value);
870 template <
typename T>
873 if (key.
get_KeyType() == Aspose::Tasks::AsnKey::Task)
875 return System::ExplicitCast<T>(System::ExplicitCast<System::Object>(this->get_Task()));
878 if (key.
get_KeyType() == Aspose::Tasks::AsnKey::Resource)
880 return System::ExplicitCast<T>(System::ExplicitCast<System::Object>(this->get_Resource()));
882 System::SharedPtr<System::Object> res;
883 if (this->GetCalculatedValue(key.
get_KeyType(), res))
885 return System::ExplicitCast<T>(res);
888 return this->container->template CheckPropAndGet<T>(key);
897 template <
typename T>
901 if (key.
get_KeyType() == Aspose::Tasks::AsnKey::Task)
903 this->set_Task(System::ExplicitCast<Aspose::Tasks::Task>(System::ExplicitCast<System::Object>(val)));
906 if (key.
get_KeyType() == Aspose::Tasks::AsnKey::Resource)
908 this->set_Resource(System::ExplicitCast<Aspose::Tasks::Resource>(System::ExplicitCast<System::Object>(val)));
912 auto castVal = System::ExplicitCast<System::Object>(val);
913 if (this->SetCalculatedValue(key.
get_KeyType(), castVal))
918 this->container->template CheckPropAndSet<T>(key, val);
920 if (key.
get_KeyType() == Aspose::Tasks::AsnKey::WorkContour)
922 this->set_IsWorkContourChanged(
true);
929 ASPOSE_TASKS_SHARED_API
void Delete();
935 ASPOSE_TASKS_SHARED_API
bool Equals(System::SharedPtr<ResourceAssignment> other)
override;
941 ASPOSE_TASKS_SHARED_API
bool Equals(System::SharedPtr<System::Object> obj)
override;
947 ASPOSE_TASKS_SHARED_API System::String ToString()
const override;
952 ASPOSE_TASKS_SHARED_API int32_t GetHashCode()
const override;
957 ASPOSE_TASKS_SHARED_API
void TimephasedDataFromTaskDuration(
const System::SharedPtr<Calendar>& calendar);
968 ASPOSE_TASKS_SHARED_API System::DateTime MakeTPs(System::DateTime start, System::TimeSpan time,
const System::SharedPtr<Calendar>& calendar,
const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& list,
bool isWorking, int32_t type);
977 ASPOSE_TASKS_SHARED_API
void SplitTask(System::DateTime start, System::DateTime finish,
const System::SharedPtr<Calendar>& calendar);
985 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> GetTimephasedData(System::DateTime start, System::DateTime end, TimephasedDataType timephasedType);
992 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> GetTimephasedData(System::DateTime start, System::DateTime end);
1000 ASPOSE_TASKS_SHARED_API System::TimeSpan GetTimephasedWork(System::DateTime start, System::DateTime end, TimephasedDataType timephasedDataType);
1007 ASPOSE_TASKS_SHARED_API System::TimeSpan GetTimephasedWork(System::DateTime start, System::DateTime end);
1016 ASPOSE_TASKS_SHARED_API
void SetMaterialResourceUnits(
double units, RateScaleType rateScaleType);
1017 static bool _anonymous_method_0(System::SharedPtr<Aspose::Tasks::TimephasedData> td);
1018 static bool _anonymous_method_1(System::SharedPtr<Aspose::Tasks::TimephasedData> td);
1019 static bool _anonymous_method_2(System::SharedPtr<Aspose::Tasks::TimephasedData> td);
1020 static bool _anonymous_method_3(System::SharedPtr<Aspose::Tasks::TimephasedData> td);
1021 static bool _anonymous_method_4(System::SharedPtr<Aspose::Tasks::TimephasedData> td);
1022 static bool _anonymous_method_5(System::SharedPtr<Aspose::Tasks::TimephasedData> td);
1029 ASPOSE_TASKS_SHARED_API
void set_ParentProject(
const System::SharedPtr<Project>& value);
1034 ASPOSE_TASKS_SHARED_API
void set_Baselines(
const System::SharedPtr<AssignmentBaselineCollection>& value);
1035 ASPOSE_TASKS_SHARED_API int32_t get_ExtendedAttributesCount();
1036 ASPOSE_TASKS_SHARED_API int32_t get_BaselineCount();
1037 ASPOSE_TASKS_SHARED_API
bool get_IsShared()
const;
1038 ASPOSE_TASKS_SHARED_API
void set_IsShared(
bool value);
1039 ASPOSE_TASKS_SHARED_API
bool get_IsWork();
1040 ASPOSE_TASKS_SHARED_API
bool get_IsFlatContour();
1041 ASPOSE_TASKS_SHARED_API
bool get_IsMaterial();
1042 ASPOSE_TASKS_SHARED_API
bool get_IsCost();
1043 ASPOSE_TASKS_SHARED_API System::Guid get_TempGuid()
const;
1044 ASPOSE_TASKS_SHARED_API
void set_TempGuid(System::Guid value);
1045 ASPOSE_TASKS_SHARED_API System::SharedPtr<Calendar> get_AssignmentCalendar();
1046 ASPOSE_TASKS_SHARED_API
void set_AssignmentCalendar(
const System::SharedPtr<Calendar>& value);
1047 ASPOSE_TASKS_SHARED_API
bool get_IsValid();
1048 ASPOSE_TASKS_SHARED_API
bool get_IsValidWork();
1049 ASPOSE_TASKS_SHARED_API
bool get_IsSharedWork();
1053 ASPOSE_TASKS_SHARED_API System::SharedPtr<SplitPartCollection> get_SplitParts();
1057 ASPOSE_TASKS_SHARED_API
void set_SplitParts(
const System::SharedPtr<SplitPartCollection>& value);
1058 ASPOSE_TASKS_SHARED_API System::SharedPtr<Rate> get_CurrentRate();
1059 ASPOSE_TASKS_SHARED_API
void set_CurrentRate(
const System::SharedPtr<Rate>& value);
1060 ASPOSE_TASKS_SHARED_API
const System::ArrayPtr<uint8_t>& get_WorkCompleteRawTD()
const;
1061 ASPOSE_TASKS_SHARED_API
const System::ArrayPtr<uint8_t>& get_WorkIncompleteRawTD()
const;
1062 ASPOSE_TASKS_SHARED_API
const System::ArrayPtr<uint8_t>& get_WorkOverallocatedRawTD()
const;
1063 ASPOSE_TASKS_SHARED_API
const System::ArrayPtr<uint8_t>& get_WorkingExceptionsRaw()
const;
1064 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> get_ScaledWorkComplete()
const;
1065 ASPOSE_TASKS_SHARED_API
void set_ScaledWorkComplete(
const System::SharedPtr<TimeScaledParentWorkUnit>& value);
1066 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> get_ScaledWorkIncomplete()
const;
1067 ASPOSE_TASKS_SHARED_API
void set_ScaledWorkIncomplete(
const System::SharedPtr<TimeScaledParentWorkUnit>& value);
1068 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> get_ScaledWorkOverallocated()
const;
1069 ASPOSE_TASKS_SHARED_API
const System::SharedPtr<Aspose::Tasks::TimeScaledExceptions>& get_TimeScaledExceptions()
const;
1070 ASPOSE_TASKS_SHARED_API
void set_TimeScaledExceptions(
const System::SharedPtr<Aspose::Tasks::TimeScaledExceptions>& value);
1071 ASPOSE_TASKS_SHARED_API
double get_PlannedValueNoCostUse()
const;
1072 ASPOSE_TASKS_SHARED_API
void set_PlannedValueNoCostUse(
double value);
1073 ASPOSE_TASKS_SHARED_API
bool get_IsCompleted();
1074 ASPOSE_TASKS_SHARED_API
bool get_IsTimephasedDataInitialized();
1075 ASPOSE_TASKS_SHARED_API
bool get_IsWorkContourChanged()
const;
1076 ASPOSE_TASKS_SHARED_API
void set_IsWorkContourChanged(
bool value);
1081 ASPOSE_TASKS_SHARED_API
ResourceAssignment(
const System::SharedPtr<Project>& project);
1083 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
ResourceAssignment, CODEPORTING_ARGS(
const System::SharedPtr<Project>& project));
1090 ASPOSE_TASKS_SHARED_API
ResourceAssignment(
const System::SharedPtr<Project>& project,
const System::SharedPtr<Aspose::Tasks::Resource>& resource);
1092 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
ResourceAssignment, CODEPORTING_ARGS(
const System::SharedPtr<Project>& project,
const System::SharedPtr<Aspose::Tasks::Resource>& resource));
1099 ASPOSE_TASKS_SHARED_API
ResourceAssignment(
const System::SharedPtr<Aspose::Tasks::Task>& task,
const System::SharedPtr<Aspose::Tasks::Resource>& resource);
1101 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
ResourceAssignment, CODEPORTING_ARGS(
const System::SharedPtr<Aspose::Tasks::Task>& task,
const System::SharedPtr<Aspose::Tasks::Resource>& resource));
1108 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
ResourceAssignment, CODEPORTING_ARGS());
1109 template <
typename T>
1112 this->container->template CheckPropAndSet<T>(key, val);
1115 ASPOSE_TASKS_SHARED_API
void SetMppTimephasedRawData(
const System::ArrayPtr<uint8_t>& completeWorkRaw,
const System::ArrayPtr<uint8_t>& remainingWorkRaw,
const System::ArrayPtr<uint8_t>& overallocatedWorkRaw,
const System::ArrayPtr<uint8_t>& workingExceptionRaw,
const System::SharedPtr<TimeScaledParentWorkUnit>& scaledCompleteWork,
const System::SharedPtr<TimeScaledParentWorkUnit>& scaledRemainingWork,
const System::SharedPtr<TimeScaledParentWorkUnit>& scaledOverallocatedWork,
const System::SharedPtr<Aspose::Tasks::TimeScaledExceptions>& scaledWorkingExceptions);
1116 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> GetTimephasedData(
bool addBaselineTDs);
1117 ASPOSE_TASKS_SHARED_API
void ResetOnlyTimephasedData();
1118 ASPOSE_TASKS_SHARED_API
void SetTimeScaledExceptionsChanged();
1119 ASPOSE_TASKS_SHARED_API
void ResetTimephasedData();
1120 ASPOSE_TASKS_SHARED_API
void SetWorkContourType(WorkContourType type);
1121 ASPOSE_TASKS_SHARED_API
void SetTimephasedData(
const System::SharedPtr<ResourceAssignmentTimephasedDataCollection>& list);
1128 ASPOSE_TASKS_SHARED_API System::SharedPtr<SplitPartCollection> GetCalculatedSplitParts();
1129 ASPOSE_TASKS_SHARED_API System::DateTime GetStartAddDelay(System::DateTime startDate);
1130 ASPOSE_TASKS_SHARED_API
void SetStart();
1131 ASPOSE_TASKS_SHARED_API
void SetFinish();
1132 ASPOSE_TASKS_SHARED_API System::String GetUnitsString();
1133 ASPOSE_TASKS_SHARED_API
void SetCalendar(
const System::SharedPtr<Project>& project);
1134 ASPOSE_TASKS_SHARED_API
void ResetCalendar();
1135 ASPOSE_TASKS_SHARED_API
void MoveSplits(System::DateTime date);
1136 ASPOSE_TASKS_SHARED_API
void CleanActualProperties();
1137 ASPOSE_TASKS_SHARED_API
void SetBaseline(BaselineType baselineType);
1138 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Aspose::Tasks::TimephasedData>>> GetSortedTimephasedData();
1139 ASPOSE_TASKS_SHARED_API Util::DateTimeInterval GetStartFinishOfTimephasedData();
1140 ASPOSE_TASKS_SHARED_API
void AddAssignments();
1141 ASPOSE_TASKS_SHARED_API
void CalculateTimephasedData(
const System::SharedPtr<TimephasedDataCollection>& list,
bool addBaselineTimephased);
1142 ASPOSE_TASKS_SHARED_API
void RecalculateTimephasedData();
1143 ASPOSE_TASKS_SHARED_API Duration GetContouredRemainingWork();
1144 ASPOSE_TASKS_SHARED_API
bool GetCalculatedValue(AsnKey key, System::SharedPtr<System::Object>& res)
const;
1145 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> InferScaledWorkComplete();
1146 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> InferScaledWorkActual();
1147 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> InferScaledWorkRemaining();
1148 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> InferScaledWork(TimephasedDataType timephasedDataType);
1149 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> InferScaledWork(Util::ConditionDelegate<System::SharedPtr<Aspose::Tasks::TimephasedData>> timephasedDataCondition);
1150 ASPOSE_TASKS_SHARED_API
void SetSplitsFinish(System::DateTime finish);
1151 ASPOSE_TASKS_SHARED_API Duration GetWork();
1152 ASPOSE_TASKS_SHARED_API
double GetMeanLoad();
1153 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledWorkUnit> GetMeanUnit();
1154 ASPOSE_TASKS_SHARED_API
void AddImplicitWorkingTimeException(System::DateTime date,
const System::SharedPtr<WorkingTimeCollection>& workingTimes);
1155 ASPOSE_TASKS_SHARED_API
void AddImplicitWorkingTimeExceptionInterval(System::DateTime start, System::DateTime finish);
1156 ASPOSE_TASKS_SHARED_API
void RemoveImplicitWorkingTimeException(System::DateTime date);
1157 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> GetScaledActualWork();
1158 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimeScaledParentWorkUnit> GetScaledRemainingWork();
1159 ASPOSE_TASKS_SHARED_API System::SharedPtr<Calculations::IWorkContourIterator> GetActualWorkIterator();
1160 ASPOSE_TASKS_SHARED_API System::SharedPtr<Calculations::IWorkContourIterator> GetRemainingWorkIterator();
1161 ASPOSE_TASKS_SHARED_API System::SharedPtr<Calculations::IWorkContourIterator> GetWorkIterator();
1162 ASPOSE_TASKS_SHARED_API
bool SetCalculatedValue(AsnKey keyType,
const System::SharedPtr<System::Object>& v);
1164 virtual ASPOSE_TASKS_SHARED_API ~ResourceAssignment();
1166 #ifdef ASPOSE_GET_SHARED_MEMBERS
1167 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
1173 System::SharedPtr<PropertyContainer<AsnKey>> container;
1174 System::SharedPtr<TimephasedDataCollection> timephasedData;
1175 System::SharedPtr<Calendar> assignmentCalendar;
1176 System::SharedPtr<SplitPartCollection> splitParts;
1177 System::SharedPtr<Rate> currentRate;
1178 System::SharedPtr<AssignmentBaselineCollection> baselines;
1179 System::SharedPtr<ExtendedAttributeCollection> extendedAttributes;
1180 System::SharedPtr<TimeScaledParentWorkUnit> scaledWorkComplete;
1181 System::SharedPtr<TimeScaledParentWorkUnit> scaledWorkIncomplete;
1182 System::SharedPtr<TimeScaledParentWorkUnit> scaledWorkOverallocated;
1183 System::WeakPtr<Aspose::Tasks::Task> pr_Task;
1184 System::WeakPtr<Aspose::Tasks::Resource> pr_Resource;
1185 System::Nullable<System::Guid> pr_Guid;
1186 System::WeakPtr<Project> pr_ParentProject;
1188 ASPOSE_TASKS_SHARED_API
bool get_HasChildren()
override;
1189 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<IExtendedAttributeParent>>> get_Items()
override;
1192 System::Guid pr_TempGuid;
1193 System::ArrayPtr<uint8_t> pr_WorkCompleteRawTD;
1195 ASPOSE_TASKS_SHARED_API
void set_WorkCompleteRawTD(
const System::ArrayPtr<uint8_t>& value);
1197 System::ArrayPtr<uint8_t> pr_WorkIncompleteRawTD;
1199 ASPOSE_TASKS_SHARED_API
void set_WorkIncompleteRawTD(
const System::ArrayPtr<uint8_t>& value);
1201 System::ArrayPtr<uint8_t> pr_WorkOverallocatedRawTD;
1203 ASPOSE_TASKS_SHARED_API
void set_WorkOverallocatedRawTD(
const System::ArrayPtr<uint8_t>& value);
1205 System::ArrayPtr<uint8_t> pr_WorkingExceptionsRaw;
1207 ASPOSE_TASKS_SHARED_API
void set_WorkingExceptionsRaw(
const System::ArrayPtr<uint8_t>& value);
1208 ASPOSE_TASKS_SHARED_API
void set_ScaledWorkOverallocated(
const System::SharedPtr<TimeScaledParentWorkUnit>& value);
1210 System::SharedPtr<Aspose::Tasks::TimeScaledExceptions> pr_TimeScaledExceptions;
1211 double pr_PlannedValueNoCostUse;
1212 bool pr_IsWorkContourChanged;
1214 System::String get_DebuggerDisplay();
1216 System::SharedPtr<Calendar> GetCalendar()
override;
1217 static System::SharedPtr<Calendar> GetIntersectedCalendar(
const System::SharedPtr<Calendar>& taskCalendar,
const System::SharedPtr<Calendar>& resourceCalendar);
1218 static bool IsGeneratedTimephasedType(TimephasedDataType timephasedType);
1219 bool HasMppTimephased();
1220 System::SharedPtr<TimeScaledParentWorkUnit> InferScaledWork(
const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& tds);
1221 System::SharedPtr<Calendar> TryToInheritCalendarFromTask();
1222 System::SharedPtr<Calendar> TryToInheritCalendarFromResource(
const System::SharedPtr<Project>& project);
1223 void MakeTimephasedDataFromMpp(
const System::SharedPtr<TimephasedDataCollection>& td);
1224 void MakeTimephasedDataFromXml(
const System::SharedPtr<TimephasedDataCollection>& td);
1225 void AddBaselineTimephasedData(
const System::SharedPtr<TimephasedDataCollection>& td);
1226 void UpdateWorkTD(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& complete,
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& overtimeComplete);
1227 System::SharedPtr<SplitPartCollection> CalculateSplitParts();
1228 System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>>> GenerateTimephased(System::DateTime start, System::DateTime end, TimephasedDataType timephasedType);
1229 Duration GetRemainingWork();
1230 Duration GetActualWork();
1231 System::SharedPtr<TimephasedDataCollection> GenerateTimephasedWithoutTimeScaledData(System::DateTime startDate, System::DateTime end, TimephasedDataType timephasedType);
1232 void GenerateTimephasedFromTimeScaledData(System::DateTime start, System::DateTime end, TimephasedDataType timephasedType,
const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& outputList);
1233 void GetTimephasedBaselineData(System::DateTime startDate, System::DateTime end, TimephasedDataType timephasedType,
const System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Aspose::Tasks::TimephasedData>>>& outputList);
1234 static System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Aspose::Tasks::TimephasedData>>> FilterTimephasedData(
const System::SharedPtr<TimephasedDataCollection>& timephasedData, System::DateTime startDate, System::DateTime endDate, TimephasedDataType type);
1235 void SetBaselineValues(
const System::SharedPtr<AssignmentBaseline>& bl);
1236 void SetBaselineTimephased(
const System::SharedPtr<AssignmentBaseline>& bl);
1237 void TimephasedDataChanged(
const System::SharedPtr<System::Object>& sender,
const System::SharedPtr<System::EventArgs>& e);
1238 System::SharedPtr<Calendar> WrapCalendarIfNecessary(
const System::SharedPtr<Calendar>& calendar);
1239 bool TryGetTimephasedWorkForBaseline(System::DateTime start, System::DateTime end, TimephasedDataType timephasedDataType, System::TimeSpan& work);