8 #include <system/eventhandler.h>
9 #include <system/collections/ilist.h>
10 #include <system/collections/icomparer.h>
11 #include <system/array.h>
14 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
20 class BaselineTimephasedDataMaker;
21 namespace Calculations
23 class TimeScaledCalculator;
30 class MPP9ResourceAssignmentReader;
31 class MppTimephasedDataWriter;
35 class TimephasedDataNodeReader;
38 class OptimizedForSearchingTimephasedDataCollection;
39 namespace Recalculation
41 class TaskSplitCalculator;
44 class ResourceAssignment;
45 class ResourceAssignmentTimephasedDataCollection;
46 class ResourceTimephasedDataCollection;
49 class TaskTimephasedDataCollection;
56 enum class TimephasedDataType : int8_t;
57 class TimephasedWorkCostSelector;
70 template <
typename>
class IEnumerable;
71 template <
typename>
class IEnumerator;
72 template <
typename>
class List;
86 class ASPOSE_TASKS_SHARED_CLASS
TimephasedDataCollection :
public System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>
89 typedef System::Collections::Generic::IList<System::SharedPtr<TimephasedData>> BaseType;
91 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
92 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
94 friend class Aspose::Tasks::IO::MSProject::MppTimephasedDataWriter;
96 friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentReader;
99 friend class Aspose::Tasks::Recalculation::TaskSplitCalculator;
100 friend class TimephasedWorkCostSelector;
101 friend class TaskPlanner;
103 friend class ResourceTimephasedDataCollection;
104 friend class Aspose::Tasks::Calculations::TimeScaledCalculator;
105 friend class Aspose::Tasks::IO::Xml::TimephasedDataNodeReader;
106 friend class ResourceAssignmentTimephasedDataCollection;
107 friend class Aspose::Tasks::Util::BaselineHelper;
108 friend class BaselineTimephasedDataMaker;
109 friend class TaskTimephasedDataCollection;
113 class ASPOSE_TASKS_SHARED_CLASS TimephasedDataFinishDateAscComparer final :
public System::Collections::Generic::IComparer<System::SharedPtr<TimephasedData>>
115 typedef TimephasedDataFinishDateAscComparer
ThisType;
116 typedef System::Collections::Generic::IComparer<System::SharedPtr<TimephasedData>> BaseType;
118 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
119 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
129 int32_t Compare(
const System::SharedPtr<TimephasedData>& x,
const System::SharedPtr<TimephasedData>& y)
const override;
139 ASPOSE_TASKS_SHARED_API int32_t
get_Count()
const override;
150 ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedData>
idx_get(int32_t index)
const override;
157 ASPOSE_TASKS_SHARED_API
void idx_set(int32_t index, System::SharedPtr<TimephasedData> value)
override;
162 ASPOSE_TASKS_SHARED_API
void Clear()
override;
168 ASPOSE_TASKS_SHARED_API
bool Contains(
const System::SharedPtr<TimephasedData>& item)
const override;
174 ASPOSE_TASKS_SHARED_API
void Add(
const System::SharedPtr<TimephasedData>& item)
override;
179 ASPOSE_TASKS_SHARED_API
void AddRange(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& timephasedCollection);
184 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimephasedData>>>
ToList();
199 ASPOSE_TASKS_SHARED_API
void CopyTo(System::ArrayPtr<System::SharedPtr<TimephasedData>> array, int32_t arrayIndex)
override;
208 ASPOSE_TASKS_SHARED_API
bool Remove(
const System::SharedPtr<TimephasedData>& item)
override;
213 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<TimephasedData>>>
GetEnumerator()
override;
227 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>>
SelectBetweenStartAndFinish(TimephasedDataType timephasedDataType, System::DateTime startTime, System::DateTime finishTime);
231 ASPOSE_TASKS_SHARED_API System::EventHandler<> get_Changed()
const;
232 ASPOSE_TASKS_SHARED_API
void set_Changed(System::EventHandler<> value);
236 ASPOSE_TASKS_SHARED_API
TimephasedDataCollection(
const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>>& items);
238 ASPOSE_TASKS_SHARED_API System::TimeSpan GetDayWork(
const System::SharedPtr<Calendar>& calendar, TimephasedDataType timephasedDataType, System::DateTime date);
239 ASPOSE_TASKS_SHARED_API Timephased::WorkInterval GetIntervalWork(
const System::SharedPtr<Calendar>& calendar, TimephasedDataType timephasedDataType, System::DateTime startDate, System::DateTime finishDate);
240 ASPOSE_TASKS_SHARED_API Timephased::CostInterval GetIntervalCost(
const System::SharedPtr<Calendar>& calendar, TimephasedDataType timephasedDataType, System::DateTime startDate, System::DateTime finishDate);
246 ASPOSE_TASKS_SHARED_API
void AddInternal(
const System::SharedPtr<TimephasedData>& item);
251 ASPOSE_TASKS_SHARED_API
void AddRangeInternal(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& timephasedCollection);
256 ASPOSE_TASKS_SHARED_API
void AddRangeInternal(
const System::SharedPtr<TimephasedDataCollection>& timephasedCollection);
257 ASPOSE_TASKS_SHARED_API int32_t GetSearchDictionaryCount();
258 ASPOSE_TASKS_SHARED_API System::TimeSpan GetDuration();
265 ASPOSE_TASKS_SHARED_API
virtual void AddInternal(System::SharedPtr<TimephasedData> item,
bool isCustomTd);
266 ASPOSE_TASKS_SHARED_API
virtual void InsertInternal(int32_t index, System::SharedPtr<TimephasedData> item);
267 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimephasedData>>> GetByType(TimephasedDataType type);
271 #ifdef ASPOSE_GET_SHARED_MEMBERS
272 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
278 System::SharedPtr<OptimizedForSearchingTimephasedDataCollection> timephasesOptimizedForSearchingByStartDate;
279 System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>> items;
280 System::EventHandler<> pr_Changed;
282 ASPOSE_TASKS_SHARED_API int32_t IndexOf(
const System::SharedPtr<TimephasedData>& item)
const override;
283 ASPOSE_TASKS_SHARED_API
void Insert(int32_t index,
const System::SharedPtr<TimephasedData>& item)
override;
284 ASPOSE_TASKS_SHARED_API
void RemoveAt(int32_t index)
override;
289 void InitializeSearch(
const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<TimephasedData>>>& list);
298 System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<TimephasedData>>> GetTimephasedData()
const;
304 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:228
Represents a resource in a project.
Definition: Resource.h:213
Represents a task in a project.
Definition: Task.h:391
Represents a collection of TimephasedData objects.
Definition: TimephasedDataCollection.h:87
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...
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:78
Aspose.
Definition: Asn.h:13