8 #include <system/multicast_delegate.h>
9 #include <system/eventhandler.h>
10 #include <system/collections/ilist.h>
11 #include <system/collections/icomparer.h>
12 #include <system/array.h>
15 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
21 class BaselineTimephasedDataMaker;
22 namespace Calculations
24 class ResourceAssignmentRateByDateEnumerator;
25 class TimephasedDataCalculator;
26 class TimeScaledCalculator;
33 class MPP9ResourceAssignmentReader;
34 class MPPResourceWriter;
35 class MppTimephasedDataWriter;
39 class TimephasedDataNodeReader;
42 class OptimizedForSearchingTimephasedDataCollection;
43 namespace Recalculation
45 class TaskSplitCalculator;
48 class ResourceAssignment;
49 class ResourceAssignmentTimephasedDataCollection;
50 class ResourceTimephasedDataCollection;
53 class TaskTimephasedDataCollection;
60 enum class TimephasedDataType : int8_t;
61 class TimephasedWorkCostSelector;
65 template <
typename T>
using ConditionDelegate = System::MulticastDelegate<bool(T)>;
75 template <
typename>
class IEnumerable;
76 template <
typename>
class IEnumerator;
77 template <
typename>
class List;
91 class ASPOSE_TASKS_SHARED_CLASS
TimephasedDataCollection :
public System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>>
94 typedef System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TimephasedData>> BaseType;
96 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
97 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
99 friend class Aspose::Tasks::Calculations::TimeScaledCalculator;
100 friend class Aspose::Tasks::Calculations::ResourceAssignmentRateByDateEnumerator;
101 friend class Aspose::Tasks::Calculations::TimephasedDataCalculator;
105 friend class Aspose::Tasks::BaselineTimephasedDataMaker;
106 friend class Aspose::Tasks::Util::BaselineHelper;
107 friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentReader;
108 friend class Aspose::Tasks::IO::MSProject::MPPResourceWriter;
109 friend class Aspose::Tasks::IO::MSProject::MppTimephasedDataWriter;
110 friend class Aspose::Tasks::IO::Xml::TimephasedDataNodeReader;
111 friend class Aspose::Tasks::TaskPlanner;
112 friend class Aspose::Tasks::Recalculation::TaskSplitCalculator;
113 friend class Aspose::Tasks::ResourceAssignmentTimephasedDataCollection;
114 friend class Aspose::Tasks::ResourceTimephasedDataCollection;
115 friend class Aspose::Tasks::TaskTimephasedDataCollection;
117 friend class Aspose::Tasks::TimephasedWorkCostSelector;
121 class ASPOSE_TASKS_SHARED_CLASS TimephasedDataFinishDateAscComparer final :
public System::Collections::Generic::IComparer<System::SharedPtr<Aspose::Tasks::TimephasedData>>
123 typedef TimephasedDataFinishDateAscComparer
ThisType;
124 typedef System::Collections::Generic::IComparer<System::SharedPtr<Aspose::Tasks::TimephasedData>> BaseType;
126 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
127 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
137 int32_t Compare(
const System::SharedPtr<TimephasedData>& x,
const System::SharedPtr<TimephasedData>& y)
const override;
147 ASPOSE_TASKS_SHARED_API int32_t
get_Count()
const override;
163 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedData>
idx_get(int32_t index)
const override;
170 ASPOSE_TASKS_SHARED_API
void idx_set(int32_t index, System::SharedPtr<TimephasedData> value)
override;
175 ASPOSE_TASKS_SHARED_API
void Clear()
override;
181 ASPOSE_TASKS_SHARED_API
bool Contains(
const System::SharedPtr<TimephasedData>& item)
const override;
187 ASPOSE_TASKS_SHARED_API
void Add(
const System::SharedPtr<TimephasedData>& item)
override;
192 ASPOSE_TASKS_SHARED_API
void AddRange(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& timephasedCollection);
197 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimephasedData>>>
ToList();
212 ASPOSE_TASKS_SHARED_API
void CopyTo(System::ArrayPtr<System::SharedPtr<TimephasedData>> array, int32_t arrayIndex)
override;
221 ASPOSE_TASKS_SHARED_API
bool Remove(
const System::SharedPtr<TimephasedData>& item)
override;
226 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<TimephasedData>>>
GetEnumerator()
override;
240 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>>
SelectBetweenStartAndFinish(TimephasedDataType timephasedDataType, System::DateTime startTime, System::DateTime finishTime);
244 ASPOSE_TASKS_SHARED_API System::EventHandler<> get_Changed()
const;
245 ASPOSE_TASKS_SHARED_API
void set_Changed(System::EventHandler<> value);
247 ASPOSE_TASKS_SHARED_API
TimephasedDataCollection(
const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>>& items);
249 ASPOSE_TASKS_SHARED_API System::TimeSpan GetDayWork(
const System::SharedPtr<Calendar>& calendar, TimephasedDataType timephasedDataType, System::DateTime date);
250 ASPOSE_TASKS_SHARED_API Timephased::WorkInterval GetIntervalWork(
const System::SharedPtr<Calendar>& calendar, TimephasedDataType timephasedDataType, System::DateTime startDate, System::DateTime finishDate);
251 ASPOSE_TASKS_SHARED_API Timephased::CostInterval GetIntervalCost(
const System::SharedPtr<Calendar>& calendar, TimephasedDataType timephasedDataType, System::DateTime startDate, System::DateTime finishDate);
257 ASPOSE_TASKS_SHARED_API
void AddInternal(
const System::SharedPtr<TimephasedData>& item);
262 ASPOSE_TASKS_SHARED_API
void AddRangeInternal(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& timephasedCollection);
267 ASPOSE_TASKS_SHARED_API
void AddRangeInternal(
const System::SharedPtr<TimephasedDataCollection>& timephasedCollection);
268 ASPOSE_TASKS_SHARED_API int32_t GetSearchDictionaryCount();
269 ASPOSE_TASKS_SHARED_API System::TimeSpan GetDuration();
276 virtual ASPOSE_TASKS_SHARED_API
void AddInternal(System::SharedPtr<TimephasedData> item,
bool isCustomTd);
277 virtual ASPOSE_TASKS_SHARED_API
void InsertInternal(int32_t index, System::SharedPtr<TimephasedData> item);
278 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>> EnumerateByCondition(Util::ConditionDelegate<System::SharedPtr<TimephasedData>> condition);
279 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimephasedData>>> GetByType(TimephasedDataType type);
283 #ifdef ASPOSE_GET_SHARED_MEMBERS
284 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
290 System::SharedPtr<OptimizedForSearchingTimephasedDataCollection> timephasesOptimizedForSearchingByStartDate;
291 System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>> items;
292 System::EventHandler<> pr_Changed;
294 int32_t IndexOf(
const System::SharedPtr<TimephasedData>& item)
const override;
295 void Insert(int32_t index,
const System::SharedPtr<TimephasedData>& item)
override;
296 void RemoveAt(int32_t index)
override;
301 void InitializeSearch(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& list);
310 System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>> GetTimephasedData()
const;
316 void AddRangeInternal(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& timephasedCollection,
bool collectionContainsCustomTds);
Represents a resource assignment in a project.
Definition: ResourceAssignment.h:220
Represents a resource in a project.
Definition: Resource.h:206
Represents a task in a project.
Definition: Task.h:383
Represents a collection of TimephasedData objects.
Definition: TimephasedDataCollection.h:92
System::SharedPtr< System::Collections::Generic::IEnumerator< System::SharedPtr< TimephasedData > > > GetEnumerator() override
Returns an enumerator for this collection.
void CopyTo(System::ArrayPtr< System::SharedPtr< TimephasedData >> array, int32_t arrayIndex) override
Copies the elements of the TimephasedDataCollection to an System::Array, starting at a particular Sys...
TimephasedDataCollection()
Initializes a new instance of the TimephasedDataCollection class.
System::SharedPtr< System::Collections::Generic::IList< System::SharedPtr< TimephasedData > > > SelectBetweenStartAndFinish(TimephasedDataType timephasedDataType, System::DateTime startTime, System::DateTime finishTime)
Selects all time phases between startTime and finishTime . Has O(log n) complexity in average case.
bool get_IsReadOnly() const override
Gets a value indicating whether the System::Collections::Generic::ICollection<T> is read-only.
bool Remove(const System::SharedPtr< TimephasedData > &item) override
Removes TimephasedData instance from this collection object.
void Add(const System::SharedPtr< TimephasedData > &item) override
Adds TimephasedData instance to this collection object.
int32_t get_Count() const override
Gets the number of objects contained in this TimephasedDataCollection object.
void idx_set(int32_t index, System::SharedPtr< TimephasedData > value) override
Returns the element at the specified index. The set accessor is not supported. property to set timeph...
System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< TimephasedData > > > ToList()
Converts the TimephasedDataCollection object to a list of TimephasedData objects.
void AddRange(const System::SharedPtr< System::Collections::Generic::IEnumerable< System::SharedPtr< TimephasedData >>> &timephasedCollection)
Adds a collection of TimephasedData instances to this collection object.
System::SharedPtr< TimephasedData > idx_get(int32_t index) const override
Returns the element at the specified index. The set accessor is not supported. property to set timeph...
bool Contains(const System::SharedPtr< TimephasedData > &item) const override
Determines whether the TimephasedDataCollection contains a specific value.
void Clear() override
Removes all items from the TimephasedDataCollection.
Represents a time phased data.
Definition: TimephasedData.h:77