8 #include <system/object.h>
9 #include <system/decimal.h>
10 #include <system/date_time.h>
12 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
18 namespace Calculations
20 class RateByDateEnumeratorBase;
22 namespace Connectivity
24 class MpdResourceRateMapper;
30 template <
typename,
typename>
class FieldItem;
31 class MPP14ResourceAssignmentWriter;
33 namespace PrimaveraXml
35 class PrimaveraResourceRateNodeReader;
36 class PrimaveraRoleRateNodeReader;
40 class XerResourceRateReader;
44 class RateByDateCollection;
46 enum class RateFormatType;
48 class ResourceAssignment;
63 class ASPOSE_TASKS_SHARED_CLASS
Rate :
public System::Object
66 typedef System::Object BaseType;
68 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
69 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
71 friend class Aspose::Tasks::Calculations::RateByDateEnumeratorBase;
72 friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraResourceRateNodeReader;
73 friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraRoleRateNodeReader;
75 friend class Aspose::Tasks::Util::RateHelper;
76 friend class Aspose::Tasks::Connectivity::MpdResourceRateMapper;
77 template<
typename FT0,
typename FT1>
friend class Aspose::Tasks::IO::MSProject::FieldItem;
78 friend class Aspose::Tasks::IO::MSProject::MPP14ResourceAssignmentWriter;
79 friend class Aspose::Tasks::IO::Xer::XerResourceRateReader;
80 friend class Aspose::Tasks::IO::Xer::XerUtils;
165 static ASPOSE_TASKS_SHARED_API System::DateTime& MinDate();
166 static ASPOSE_TASKS_SHARED_API System::DateTime& MaxDate();
168 ASPOSE_TASKS_SHARED_API System::SharedPtr<RateCollection> get_ParentCollection()
const;
169 ASPOSE_TASKS_SHARED_API
void set_ParentCollection(
const System::SharedPtr<RateCollection>& value);
174 ASPOSE_TASKS_SHARED_API
Rate();
176 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
Rate, CODEPORTING_ARGS());
179 ASPOSE_TASKS_SHARED_API
Rate(System::Decimal standardRate, System::DateTime ratesFrom);
181 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
Rate, CODEPORTING_ARGS(System::Decimal standardRate, System::DateTime ratesFrom));
184 ASPOSE_TASKS_SHARED_API
Rate(RateType type);
186 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
Rate, CODEPORTING_ARGS(RateType type));
189 ASPOSE_TASKS_SHARED_API
Rate(System::Decimal standardRate);
191 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
Rate, CODEPORTING_ARGS(System::Decimal standardRate));
194 ASPOSE_TASKS_SHARED_API
Rate(System::DateTime from);
196 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
Rate, CODEPORTING_ARGS(System::DateTime from));
197 ASPOSE_TASKS_SHARED_API
void ConvertToMaterial();
198 static ASPOSE_TASKS_SHARED_API System::SharedPtr<Rate> GetDefaultRate(
const System::SharedPtr<RateCollection>& collection, RateType type);
199 static ASPOSE_TASKS_SHARED_API System::SharedPtr<Rate> GetDefaultRate(RateType rateTable);
200 static ASPOSE_TASKS_SHARED_API System::SharedPtr<Rate> CreateRate(System::Decimal stdRate);
201 static ASPOSE_TASKS_SHARED_API System::SharedPtr<Rate> GetRateEffectiveOnDate(
const System::SharedPtr<RateCollection>& rateCollection, RateType rateType, System::DateTime date);
203 virtual ASPOSE_TASKS_SHARED_API ~
Rate();
205 #ifdef ASPOSE_GET_SHARED_MEMBERS
206 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
212 System::Decimal standardRate;
213 RateFormatType standardRateFormat;
214 System::Decimal overtimeRate;
215 RateFormatType overtimeRateFormat;
216 System::WeakPtr<RateCollection> parentCollection;
217 System::Decimal costPerUse;
218 System::DateTime pr_RatesFrom;
219 System::DateTime pr_RatesTo;
220 RateType pr_RateTable;
222 bool get_IsDefault();
225 Rate(RateFormatType type);
227 MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
Rate, CODEPORTING_ARGS(RateFormatType type));
228 bool IsEffectiveOnDate(System::DateTime date);
229 void UpdateResourceValue(Rate::UpdateType type);
Represents a collection which mappings of DateTime to Rate objects.
Definition: RateByDateCollection.h:32
Represents a collection which contains Rate objects.
Definition: RateCollection.h:81
Represents a definition of a time period and rates applicable for a resource during that period.
Definition: Rate.h:64
void set_RateTable(RateType value)
Sets the unique identifier of a rate table for a resource.
RateFormatType get_OvertimeRateFormat() const
Gets the units used by Microsoft Project to display the overtime rate.
void set_StandardRateFormat(RateFormatType value)
Sets the units used by Microsoft Project to display the standard rate.
System::Decimal get_CostPerUse() const
Gets the cost per use of a resource. This value retrieved from the current date if a rate table exist...
System::DateTime get_RatesTo() const
Gets the last date when a rate is effective.
void set_CostPerUse(System::Decimal value)
Sets the cost per use of a resource. This value retrieved from the current date if a rate table exist...
void set_StandardRate(System::Decimal value)
Sets the standard rate per hour for a resource.
System::Decimal get_OvertimeRate() const
Gets the overtime rate per hour for a resource.
void set_RatesTo(System::DateTime value)
Sets the last date when a rate is effective.
void set_OvertimeRate(System::Decimal value)
Sets the overtime rate per hour for a resource.
System::Decimal get_StandardRate() const
Gets the standard rate per hour for a resource.
void set_RatesFrom(System::DateTime value)
Sets the date when a rate becomes effective.
void set_OvertimeRateFormat(RateFormatType value)
Sets the units used by Microsoft Project to display the overtime rate.
System::DateTime get_RatesFrom() const
Gets the date when a rate becomes effective.
RateFormatType get_StandardRateFormat() const
Gets the units used by Microsoft Project to display the standard rate.
RateType get_RateTable() const
Gets the unique identifier of a rate table for a resource.
Represents a resource assignment in a project.
Definition: ResourceAssignment.h:222