Aspose.Tasks for C++
Rsc.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="Rsc.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <cstdint>
9 
10 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
11 
12 namespace Aspose
13 {
14 namespace Tasks
15 {
16 enum class BookingType;
17 class Calendar;
18 enum class CostAccrualType;
19 class Duration;
20 template <typename, typename> class Key;
21 class NullableBool;
22 enum class RateFormatType;
23 enum class ResourceType;
24 enum class RscKey : uint8_t;
25 enum class WorkGroupType;
26 } // namespace Tasks
27 } // namespace Aspose
28 namespace System
29 {
30 class DateTime;
31 class Decimal;
32 template <typename> class SmartPtr;
33 template <typename T0> using SharedPtr = System::SmartPtr<T0>;
34 class String;
35 } // namespace System
36 
37 namespace Aspose {
38 
39 namespace Tasks {
40 
41 /// <summary>
42 /// Represents supported properties of <see cref="Resource"></see> object.
43 /// </summary>
44 class ASPOSE_TASKS_SHARED_CLASS Rsc
45 {
46  typedef Rsc ThisType;
47 
48 public:
49 
50  /// <summary>
51  /// Determines how and when resource standard and overtime costs are to be charged, or accrued, to the cost of a task.
52  /// </summary>
53  static ASPOSE_TASKS_SHARED_API Key<CostAccrualType, RscKey>& AccrueAt();
54  /// <summary>
55  /// The Active Directory Guid for a resource.
56  /// </summary>
57  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& ActiveDirectoryGuid();
58  /// <summary>
59  /// Costs incurred for work already performed by resources on their tasks, along with any other recorded costs associated with the task.
60  /// </summary>
61  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& ActualCost();
62  /// <summary>
63  /// Costs incurred for overtime work already performed on tasks by assigned resources.
64  /// </summary>
65  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& ActualOvertimeCost();
66  /// <summary>
67  /// The actual amount of overtime work already performed by resource assigned to tasks.
68  /// </summary>
69  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& ActualOvertimeWork();
70  /// <summary>
71  /// The amount of work through which actual overtime work is protected.
72  /// </summary>
73  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& ActualOvertimeWorkProtected();
74  /// <summary>
75  /// The amount of work that has already been done by resource assigned to tasks.
76  /// </summary>
77  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& ActualWork();
78  /// <summary>
79  /// The amount of work through which actual work is protected.
80  /// </summary>
81  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& ActualWorkProtected();
82  /// <summary>
83  /// The actual cost of a work performed by a resource for the project to-date.
84  /// </summary>
85  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& ACWP();
86  /// <summary>
87  /// The name of an assignment owner.
88  /// </summary>
89  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& AssignmentOwner();
90  /// <summary>
91  /// The GUID of an assignment owner.
92  /// </summary>
93  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& AssignmentOwnerGuid();
94  /// <summary>
95  /// The starting date that a resource is available for work at the units specified for the current time period.
96  /// </summary>
97  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, RscKey>& AvailableFrom();
98  /// <summary>
99  /// The end date that a resource is available for work at the units specified for the current time period.
100  /// </summary>
101  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, RscKey>& AvailableTo();
102  /// <summary>
103  /// The budgeted cost of a work performed by a resource for the project to-date.
104  /// </summary>
105  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& BCWP();
106  /// <summary>
107  /// The budget cost of a work scheduled for a resource.
108  /// </summary>
109  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& BCWS();
110  /// <summary>
111  /// The booking type of a resource.
112  /// </summary>
113  static ASPOSE_TASKS_SHARED_API Key<Aspose::Tasks::BookingType, RscKey>& BookingType();
114  /// <summary>
115  /// Budget costs for budget cost resources. Budget resources are assigned only to the project summary task.
116  /// </summary>
117  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& BudgetCost();
118  /// <summary>
119  /// budget work for budget work and material resources. Budget resources are assigned only to the project summary task.
120  /// </summary>
121  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& BudgetWork();
122  /// <summary>
123  /// The calendar of a resource.
124  /// </summary>
125  static ASPOSE_TASKS_SHARED_API Key<System::SharedPtr<Aspose::Tasks::Calendar>, RscKey>& Calendar();
126  /// <summary>
127  /// Determines whether resource leveling can be done on a resource.
128  /// </summary>
129  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& CanLevel();
130  /// <summary>
131  /// The code or other information about a resource.
132  /// </summary>
133  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Code();
134  /// <summary>
135  /// The total scheduled or projected cost for a resource, based on costs already incurred for work performed by resources assigned to the tasks, in addition to the costs planned for the remaining work.
136  /// </summary>
137  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& Cost();
138  /// <summary>
139  /// Indicates which cost center the costs accrued by the resource should be charged to.
140  /// </summary>
141  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& CostCenter();
142  /// <summary>
143  /// The cost that accrues every time that a resource is used.
144  /// </summary>
145  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& CostPerUse();
146  /// <summary>
147  /// The difference between the baseline cost and total cost for a resource.
148  /// </summary>
149  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& CostVariance();
150  /// <summary>
151  /// The date and time when a resource was added to the project.
152  /// </summary>
153  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, RscKey>& Created();
154  /// <summary>
155  /// The earned value cost variance, through the project status date.
156  /// CV is the difference between the task's BCWP (budgeted cost of work performed) and ACWP (actual cost of work performed).
157  /// </summary>
158  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& CV();
159  /// <summary>
160  /// The email address of a resource.
161  /// </summary>
162  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& EMailAddress();
163  /// <summary>
164  /// The date when a resource is scheduled to complete work on all assigned tasks.
165  /// </summary>
166  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, RscKey>& Finish();
167  /// <summary>
168  /// The group to which a resource belongs.
169  /// </summary>
170  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Group();
171  /// <summary>
172  /// Contains the generated unique identification code for the resource.
173  /// </summary>
174  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Guid();
175  /// <summary>
176  /// The title or explanatory text of a hyperlink associated with a resource.
177  /// </summary>
178  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Hyperlink();
179  /// <summary>
180  /// The address for a hyperlink associated with a resource.
181  /// </summary>
182  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
183  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& HyperlinkAddress();
184  /// <summary>
185  /// The specific location in a document in a hyperlink associated with a task.
186  /// </summary>
187  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
188  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& HyperlinkSubAddress();
189  /// <summary>
190  /// The position identifier of a resource within the list of resources.
191  /// </summary>
192  static ASPOSE_TASKS_SHARED_API Key<int32_t, RscKey>& Id();
193  /// <summary>
194  /// Determines whether a resource was made inactive by a user who has administrative rights.
195  /// </summary>
196  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& Inactive();
197  /// <summary>
198  /// The initials of a resource.
199  /// </summary>
200  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Initials();
201  /// <summary>
202  /// Determines whether a work, material, or cost resource is a budget resource.
203  /// </summary>
204  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& IsBudget();
205  /// <summary>
206  /// Determines whether a resource is a cost resource.
207  /// </summary>
208  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& IsCostResource();
209  /// <summary>
210  /// Shows whether a resource is from the enterprise resource pool (true) or the local resource pool (false).
211  /// </summary>
212  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& IsEnterprise();
213  /// <summary>
214  /// Determines whether a resource is generic or not.
215  /// </summary>
216  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& IsGeneric();
217  /// <summary>
218  /// Determines whether a resource is null.
219  /// </summary>
220  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& IsNull();
221  /// <summary>
222  /// Shows whether the current resource is a team resource.
223  /// </summary>
224  static ASPOSE_TASKS_SHARED_API Key<bool, RscKey>& IsTeamAssignmentPool();
225  /// <summary>
226  /// The unit of measure for the material resource.
227  /// </summary>
228  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& MaterialLabel();
229  /// <summary>
230  /// The maximum number of units representing the maximum capacity for which a resource is available to accomplish any tasks during the current time period.
231  /// </summary>
232  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& MaxUnits();
233  /// <summary>
234  /// The name of a resource.
235  /// </summary>
236  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Name();
237  /// <summary>
238  /// The text notes in RTF format.
239  /// <remarks>Supported for MPP formats only.</remarks>
240  /// </summary>
241  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& NotesRTF();
242  /// <summary>
243  /// Notes' plain text extracted from RTF data.
244  /// </summary>
245  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& NotesText();
246  /// <summary>
247  /// Indicates whether a resource is assigned to more work on a specific task or all tasks than can be completed within normal working capacity.
248  /// </summary>
249  static ASPOSE_TASKS_SHARED_API Key<NullableBool, RscKey>& Overallocated();
250  /// <summary>
251  /// The total overtime cost for a resource on all assigned tasks.
252  /// </summary>
253  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& OvertimeCost();
254  /// <summary>
255  /// The rate of pay for overtime work performed by a resource.
256  /// </summary>
257  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& OvertimeRate();
258  /// <summary>
259  /// The units used by Microsoft Project to display the overtime rate.
260  /// </summary>
261  static ASPOSE_TASKS_SHARED_API Key<RateFormatType, RscKey>& OvertimeRateFormat();
262  /// <summary>
263  /// The amount of overtime scheduled to be performed by a resource on a task and charged at the overtime rates of the resources involved.
264  /// </summary>
265  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& OvertimeWork();
266  /// <summary>
267  /// The maximum assignment unit for a resource at any one point in time for all tasks to which the resource is assigned.
268  /// </summary>
269  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& PeakUnits();
270  /// <summary>
271  /// The percentage of work completed across all tasks.
272  /// </summary>
273  static ASPOSE_TASKS_SHARED_API Key<int32_t, RscKey>& PercentWorkComplete();
274  /// <summary>
275  /// The phonetic spelling of the resource name. For use with Japanese only.
276  /// </summary>
277  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& Phonetics();
278  /// <summary>
279  /// The total amount of non overtime work scheduled to be performed by resource.
280  /// </summary>
281  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& RegularWork();
282  /// <summary>
283  /// The remaining scheduled expense that will be incurred in completing the remaining scheduled work.
284  /// </summary>
285  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& RemainingCost();
286  /// <summary>
287  /// The remaining scheduled overtime expense for a resource.
288  /// </summary>
289  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& RemainingOvertimeCost();
290  /// <summary>
291  /// The amount of remaining scheduled overtime.
292  /// </summary>
293  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& RemainingOvertimeWork();
294  /// <summary>
295  /// The time still required to complete a task or set of tasks.
296  /// </summary>
297  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& RemainingWork();
298  /// <summary>
299  /// The rate of pay for regular, non-overtime work performed by a resource.
300  /// </summary>
301  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, RscKey>& StandardRate();
302  /// <summary>
303  /// The units used by Microsoft Project to display the standard rate.
304  /// </summary>
305  static ASPOSE_TASKS_SHARED_API Key<RateFormatType, RscKey>& StandardRateFormat();
306  /// <summary>
307  /// The date when an assigned resource is scheduled to begin working on a task.
308  /// </summary>
309  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, RscKey>& Start();
310  /// <summary>
311  /// The earned value schedule variance, through the project status date.
312  /// SV is the difference between budgeted cost of work performed (BCWP) and budgeted cost of work scheduled (BCWS).
313  /// </summary>
314  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& SV();
315  /// <summary>
316  /// The type of a resource.
317  /// </summary>
318  static ASPOSE_TASKS_SHARED_API Key<ResourceType, RscKey>& Type();
319  /// <summary>
320  /// The unique identifier of a resource.
321  /// </summary>
322  static ASPOSE_TASKS_SHARED_API Key<int32_t, RscKey>& Uid();
323  /// <summary>
324  /// The NT account associated with a resource.
325  /// </summary>
326  static ASPOSE_TASKS_SHARED_API Key<System::String, RscKey>& WindowsUserAccount();
327  /// <summary>
328  /// The total amount of time scheduled for a resource on a task.
329  /// </summary>
330  static ASPOSE_TASKS_SHARED_API Key<Duration, RscKey>& Work();
331  /// <summary>
332  /// The type of a workgroup to which a resource belongs.
333  /// </summary>
334  static ASPOSE_TASKS_SHARED_API Key<WorkGroupType, RscKey>& Workgroup();
335  /// <summary>
336  /// The difference between baseline work of a resource and the currently scheduled work.
337  /// </summary>
338  static ASPOSE_TASKS_SHARED_API Key<double, RscKey>& WorkVariance();
339 
340 public:
341  Rsc() = delete;
342 };
343 
344 } // namespace Tasks
345 } // namespace Aspose
346 
347 
Represents a property key of a class of the specified type. An instance of this class is used when ge...
Definition: Key.h:76
Represents supported properties of Resource object.
Definition: Rsc.h:45
static Key< System::DateTime, RscKey > & AvailableFrom()
The starting date that a resource is available for work at the units specified for the current time p...
static Key< System::String, RscKey > & NotesRTF()
The text notes in RTF format.
static Key< System::String, RscKey > & ActiveDirectoryGuid()
The Active Directory Guid for a resource.
static Key< RateFormatType, RscKey > & StandardRateFormat()
The units used by Microsoft Project to display the standard rate.
static Key< System::String, RscKey > & WindowsUserAccount()
The NT account associated with a resource.
static Key< double, RscKey > & MaxUnits()
The maximum number of units representing the maximum capacity for which a resource is available to ac...
static Key< double, RscKey > & PeakUnits()
The maximum assignment unit for a resource at any one point in time for all tasks to which the resour...
static Key< int32_t, RscKey > & Uid()
The unique identifier of a resource.
static Key< Duration, RscKey > & ActualOvertimeWorkProtected()
The amount of work through which actual overtime work is protected.
static Key< System::String, RscKey > & MaterialLabel()
The unit of measure for the material resource.
static Key< Duration, RscKey > & RemainingOvertimeWork()
The amount of remaining scheduled overtime.
static Key< System::DateTime, RscKey > & Start()
The date when an assigned resource is scheduled to begin working on a task.
static Key< int32_t, RscKey > & PercentWorkComplete()
The percentage of work completed across all tasks.
static Key< WorkGroupType, RscKey > & Workgroup()
The type of a workgroup to which a resource belongs.
static Key< Aspose::Tasks::BookingType, RscKey > & BookingType()
The booking type of a resource.
static Key< ResourceType, RscKey > & Type()
The type of a resource.
static Key< System::Decimal, RscKey > & ActualCost()
Costs incurred for work already performed by resources on their tasks, along with any other recorded ...
static Key< Duration, RscKey > & ActualWorkProtected()
The amount of work through which actual work is protected.
static Key< Duration, RscKey > & ActualWork()
The amount of work that has already been done by resource assigned to tasks.
static Key< System::String, RscKey > & HyperlinkAddress()
The address for a hyperlink associated with a resource.
static Key< NullableBool, RscKey > & Overallocated()
Indicates whether a resource is assigned to more work on a specific task or all tasks than can be com...
static Key< System::Decimal, RscKey > & OvertimeRate()
The rate of pay for overtime work performed by a resource.
static Key< NullableBool, RscKey > & IsBudget()
Determines whether a work, material, or cost resource is a budget resource.
static Key< System::Decimal, RscKey > & CostPerUse()
The cost that accrues every time that a resource is used.
static Key< System::String, RscKey > & Group()
The group to which a resource belongs.
static Key< NullableBool, RscKey > & Inactive()
Determines whether a resource was made inactive by a user who has administrative rights.
static Key< System::String, RscKey > & CostCenter()
Indicates which cost center the costs accrued by the resource should be charged to.
static Key< System::String, RscKey > & AssignmentOwner()
The name of an assignment owner.
static Key< NullableBool, RscKey > & IsNull()
Determines whether a resource is null.
static Key< System::String, RscKey > & Initials()
The initials of a resource.
static Key< double, RscKey > & CostVariance()
The difference between the baseline cost and total cost for a resource.
static Key< System::String, RscKey > & Guid()
Contains the generated unique identification code for the resource.
static Key< NullableBool, RscKey > & IsGeneric()
Determines whether a resource is generic or not.
static Key< System::SharedPtr< Aspose::Tasks::Calendar >, RscKey > & Calendar()
The calendar of a resource.
static Key< double, RscKey > & ACWP()
The actual cost of a work performed by a resource for the project to-date.
static Key< System::Decimal, RscKey > & StandardRate()
The rate of pay for regular, non-overtime work performed by a resource.
static Key< Duration, RscKey > & Work()
The total amount of time scheduled for a resource on a task.
static Key< System::DateTime, RscKey > & AvailableTo()
The end date that a resource is available for work at the units specified for the current time period...
static Key< int32_t, RscKey > & Id()
The position identifier of a resource within the list of resources.
static Key< NullableBool, RscKey > & CanLevel()
Determines whether resource leveling can be done on a resource.
static Key< System::String, RscKey > & Code()
The code or other information about a resource.
static Key< System::Decimal, RscKey > & RemainingCost()
The remaining scheduled expense that will be incurred in completing the remaining scheduled work.
static Key< NullableBool, RscKey > & IsCostResource()
Determines whether a resource is a cost resource.
static Key< double, RscKey > & CV()
The earned value cost variance, through the project status date. CV is the difference between the tas...
static Key< System::String, RscKey > & Name()
The name of a resource.
static Key< double, RscKey > & WorkVariance()
The difference between baseline work of a resource and the currently scheduled work.
static Key< RateFormatType, RscKey > & OvertimeRateFormat()
The units used by Microsoft Project to display the overtime rate.
static Key< double, RscKey > & SV()
The earned value schedule variance, through the project status date. SV is the difference between bud...
static Key< NullableBool, RscKey > & IsEnterprise()
Shows whether a resource is from the enterprise resource pool (true) or the local resource pool (fals...
static Key< System::DateTime, RscKey > & Finish()
The date when a resource is scheduled to complete work on all assigned tasks.
static Key< CostAccrualType, RscKey > & AccrueAt()
Determines how and when resource standard and overtime costs are to be charged, or accrued,...
static Key< System::String, RscKey > & EMailAddress()
The email address of a resource.
static Key< System::String, RscKey > & NotesText()
Notes' plain text extracted from RTF data.
static Key< System::String, RscKey > & Phonetics()
The phonetic spelling of the resource name. For use with Japanese only.
static Key< Duration, RscKey > & BudgetWork()
budget work for budget work and material resources. Budget resources are assigned only to the project...
static Key< Duration, RscKey > & RemainingWork()
The time still required to complete a task or set of tasks.
static Key< System::Decimal, RscKey > & BudgetCost()
Budget costs for budget cost resources. Budget resources are assigned only to the project summary tas...
static Key< System::Decimal, RscKey > & OvertimeCost()
The total overtime cost for a resource on all assigned tasks.
static Key< bool, RscKey > & IsTeamAssignmentPool()
Shows whether the current resource is a team resource.
static Key< System::Decimal, RscKey > & RemainingOvertimeCost()
The remaining scheduled overtime expense for a resource.
static Key< System::DateTime, RscKey > & Created()
The date and time when a resource was added to the project.
static Key< double, RscKey > & BCWP()
The budgeted cost of a work performed by a resource for the project to-date.
static Key< System::String, RscKey > & HyperlinkSubAddress()
The specific location in a document in a hyperlink associated with a task.
static Key< Duration, RscKey > & OvertimeWork()
The amount of overtime scheduled to be performed by a resource on a task and charged at the overtime ...
static Key< System::String, RscKey > & Hyperlink()
The title or explanatory text of a hyperlink associated with a resource.
static Key< System::Decimal, RscKey > & Cost()
The total scheduled or projected cost for a resource, based on costs already incurred for work perfor...
static Key< Duration, RscKey > & ActualOvertimeWork()
The actual amount of overtime work already performed by resource assigned to tasks.
static Key< Duration, RscKey > & RegularWork()
The total amount of non overtime work scheduled to be performed by resource.
static Key< System::Decimal, RscKey > & ActualOvertimeCost()
Costs incurred for overtime work already performed on tasks by assigned resources.
static Key< double, RscKey > & BCWS()
The budget cost of a work scheduled for a resource.
static Key< System::String, RscKey > & AssignmentOwnerGuid()
The GUID of an assignment owner.
Definition: Asn.h:13