8 #include <system/object.h>
9 #include <system/date_time.h>
12 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
18 namespace Calculations
20 class AbsWorkContourAndCalendarIterator;
21 class ActualTimephasedDataUpdater;
24 class CalendarDatesCalculator;
25 class CalendarWorkingTimesForwardEnumerator;
26 class DatesCalculator;
31 class MPPTimephasedDataReader;
34 class TimephasedDataCalculationUtil;
35 class TimephasedDataMaker;
36 class TimeScaledExceptions;
39 class DateTimeInterval;
41 class WorkingTimeCollection;
57 class ASPOSE_TASKS_SHARED_CLASS
WorkingTime :
public System::Object
60 typedef System::Object BaseType;
62 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
63 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
65 friend class Aspose::Tasks::Calculations::AbsWorkContourAndCalendarIterator;
66 friend class Aspose::Tasks::Calculations::ActualTimephasedDataUpdater;
68 friend class Aspose::Tasks::CalendarWorkingTimesForwardEnumerator;
69 friend class Aspose::Tasks::TimephasedDataCalculationUtil;
70 friend class Aspose::Tasks::IO::MSProject::MPPTimephasedDataReader;
71 friend class Aspose::Tasks::CalendarDatesCalculator;
72 friend class Aspose::Tasks::DatesCalculator;
73 friend class Aspose::Tasks::TimephasedDataMaker;
74 friend class Aspose::Tasks::TimeScaledExceptions;
82 ASPOSE_TASKS_SHARED_API System::DateTime get_From()
const;
86 ASPOSE_TASKS_SHARED_API System::DateTime get_To()
const;
93 ASPOSE_TASKS_SHARED_API
WorkingTime(System::DateTime fromTime, System::DateTime toTime);
108 ASPOSE_TASKS_SHARED_API
WorkingTime(System::TimeSpan fromTime, System::TimeSpan toTime);
123 ASPOSE_TASKS_SHARED_API
WorkingTime(int32_t fromHours, int32_t toHours);
130 ASPOSE_TASKS_SHARED_API
bool Equals(System::SharedPtr<System::Object> obj)
override;
135 ASPOSE_TASKS_SHARED_API int32_t GetHashCode()
const override;
139 ASPOSE_TASKS_SHARED_API
bool get_Is24Hour();
140 ASPOSE_TASKS_SHARED_API System::TimeSpan get_Work();
142 static ASPOSE_TASKS_SHARED_API System::SharedPtr<WorkingTime> CreatePrecise(System::TimeSpan from, System::TimeSpan to);
143 ASPOSE_TASKS_SHARED_API System::DateTime GetFromDate(System::DateTime date);
144 ASPOSE_TASKS_SHARED_API System::DateTime GetToDate(System::DateTime date);
145 ASPOSE_TASKS_SHARED_API System::SharedPtr<WorkingTime> GetIntersection(
const System::SharedPtr<WorkingTime>& other);
146 ASPOSE_TASKS_SHARED_API System::TimeSpan GetIntersectSpan(
const System::SharedPtr<WorkingTime>& other);
147 ASPOSE_TASKS_SHARED_API System::TimeSpan GetIntersectSpan(System::DateTime fromNormalized, System::DateTime toNormalized);
148 ASPOSE_TASKS_SHARED_API Util::DateTimeInterval GetInterval(System::DateTime date);
149 ASPOSE_TASKS_SHARED_API System::SharedPtr<WorkingTime> GetUnion(
const System::SharedPtr<WorkingTime>& wt2);
150 ASPOSE_TASKS_SHARED_API
bool Intersects(
const System::SharedPtr<WorkingTime>& another);
151 ASPOSE_TASKS_SHARED_API
bool Contains(System::DateTime dateTime);
152 ASPOSE_TASKS_SHARED_API
bool ContainsNormalized(System::DateTime dateNormalized);
153 ASPOSE_TASKS_SHARED_API
bool IsEndTime(System::DateTime dateTime);
154 #ifdef ASPOSE_GET_SHARED_MEMBERS
155 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
161 static const int64_t TicksPerMinute;
162 static const int64_t HalfTicksPerMinute;
164 static System::DateTime& EndOfDay();
166 System::DateTime fromTime;
167 System::DateTime toTime;
169 System::String get_DebuggerDisplay();
171 static System::DateTime AlignTime(System::DateTime dt);
172 void SetFromTime(System::DateTime value);
173 void SetToTime(System::DateTime value);