Aspose.Tasks for C++
Asn.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="Asn.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 AsnKey : uint8_t;
17 enum class BookingType;
18 class Duration;
19 template <typename, typename> class Key;
20 enum class RateScaleType;
21 enum class RateType;
22 class Resource;
23 class Task;
24 enum class WorkContourType;
25 } // namespace Tasks
26 } // namespace Aspose
27 namespace System
28 {
29 class DateTime;
30 class Decimal;
31 template <typename> class SmartPtr;
32 template <typename T0> using SharedPtr = System::SmartPtr<T0>;
33 class String;
34 } // namespace System
35 
36 namespace Aspose {
37 
38 namespace Tasks {
39 
40 /// <summary>
41 /// Represents properties of <see cref="ResourceAssignment"></see> object.
42 /// </summary>
43 class ASPOSE_TASKS_SHARED_CLASS Asn
44 {
45  typedef Asn ThisType;
46 
47 public:
48 
49  /// <summary>
50  /// The unique identifier of an assignment.
51  /// </summary>
52  static ASPOSE_TASKS_SHARED_API Key<int32_t, AsnKey>& Uid();
53  /// <summary>
54  /// The task to which a resource is assigned.
55  /// </summary>
56  static ASPOSE_TASKS_SHARED_API Key<System::SharedPtr<Aspose::Tasks::Task>, AsnKey>& Task();
57  /// <summary>
58  /// The resource assigned to a task.
59  /// </summary>
60  static ASPOSE_TASKS_SHARED_API Key<System::SharedPtr<Aspose::Tasks::Resource>, AsnKey>& Resource();
61  /// <summary>
62  /// The amount of a work completed on an assignment.
63  /// </summary>
64  static ASPOSE_TASKS_SHARED_API Key<int32_t, AsnKey>& PercentWorkComplete();
65  /// <summary>
66  /// The actual cost incurred on an assignment.
67  /// </summary>
68  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& ActualCost();
69  /// <summary>
70  /// The actual finish date of an assignment.
71  /// </summary>
72  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& ActualFinish();
73  /// <summary>
74  /// The actual overtime cost incurred on an assignment.
75  /// </summary>
76  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& ActualOvertimeCost();
77  /// <summary>
78  /// The actual start date of an assignment.
79  /// </summary>
80  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& ActualStart();
81  /// <summary>
82  /// The actual amount of a work incurred on an assignment.
83  /// </summary>
84  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& ActualWork();
85  /// <summary>
86  /// The actual cost of a work performed on an assignment to-date.
87  /// </summary>
88  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& ACWP();
89  /// <summary>
90  /// Determines whether a resource has accepted all of its assignments.
91  /// </summary>
92  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& Confirmed();
93  /// <summary>
94  /// The projected or scheduled cost of an assignment.
95  /// </summary>
96  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& Cost();
97  /// <summary>
98  /// The cost rate table used for this assignment.
99  /// </summary>
100  static ASPOSE_TASKS_SHARED_API Key<RateType, AsnKey>& CostRateTableType();
101  /// <summary>
102  /// The difference between the baseline cost and total cost for an assignment.
103  /// </summary>
104  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& CostVariance();
105  /// <summary>
106  /// The earned value cost variance.
107  /// CV is the difference between the assignment's BCWP (budgeted cost of work performed) and ACWP (actual cost of work performed).
108  /// </summary>
109  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& CV();
110  /// <summary>
111  /// The delay of an assignment.
112  /// </summary>
113  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& Delay();
114  /// <summary>
115  /// The scheduled finish date of an assignment.
116  /// </summary>
117  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& Finish();
118  /// <summary>
119  /// The variance of an assignment finish date from a baseline finish date.
120  /// </summary>
121  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& FinishVariance();
122  /// <summary>
123  /// The title or explanatory text of a hyperlink associated with an assignment.
124  /// </summary>
125  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& Hyperlink();
126  /// <summary>
127  /// The address for a hyperlink associated with assignment.
128  /// </summary>
129  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
130  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& HyperlinkAddress();
131  /// <summary>
132  /// The specific location in a document in a hyperlink associated with an assignment.
133  /// </summary>
134  /// <remarks>The full address (Hyperlink Href in Microsoft Project) of the hyperlink is a concatenation of HyperlinkAddress and HyperlinkSubAddress.</remarks>
135  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& HyperlinkSubAddress();
136  /// <summary>
137  /// The difference between baseline work of a task and the currently scheduled work.
138  /// </summary>
139  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& WorkVariance();
140  /// <summary>
141  /// Determines whether the Units have Fixed Rate.
142  /// </summary>
143  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& HasFixedRateUnits();
144  /// <summary>
145  /// Determines whether the consumption of an assigned material resource occurs in a single, fixed amount.
146  /// </summary>
147  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& FixedMaterial();
148  /// <summary>
149  /// The delay caused by leveling.
150  /// </summary>
151  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& LevelingDelay();
152  /// <summary>
153  /// Determines whether the Project is linked to another OLE object.
154  /// </summary>
155  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& LinkedFields();
156  /// <summary>
157  /// Determines whether the assignment is a milestone.
158  /// </summary>
159  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& Milestone();
160  /// <summary>
161  /// Notes' plain text extracted from RTF data.
162  /// </summary>
163  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& NotesText();
164  /// <summary>
165  /// The text notes in RTF format.
166  /// <remarks>Supported for MPP formats only.</remarks>
167  /// </summary>
168  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& NotesRTF();
169  /// <summary>
170  /// Determines whether the assignment is over-allocated.
171  /// </summary>
172  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& Overallocated();
173  /// <summary>
174  /// The sum of the actual and remaining overtime cost of an assignment.
175  /// </summary>
176  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& OvertimeCost();
177  /// <summary>
178  /// The scheduled overtime work of an assignment.
179  /// </summary>
180  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& OvertimeWork();
181  /// <summary>
182  /// The maximum number of units that a resource is assigned for a task.
183  /// </summary>
184  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& PeakUnits();
185  /// <summary>
186  /// The amount of a non-overtime work scheduled for an assignment.
187  /// </summary>
188  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& RegularWork();
189  /// <summary>
190  /// The remaining projected cost of completing an assignment.
191  /// </summary>
192  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& RemainingCost();
193  /// <summary>
194  /// The remaining projected overtime cost of completing an assignment.
195  /// </summary>
196  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& RemainingOvertimeCost();
197  /// <summary>
198  /// The remaining overtime work scheduled to complete an assignment.
199  /// </summary>
200  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& RemainingOvertimeWork();
201  /// <summary>
202  /// The remaining work scheduled to complete an assignment.
203  /// </summary>
204  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& RemainingWork();
205  /// <summary>
206  /// Determines whether the response has been received for a TeamAssign message.
207  /// </summary>
208  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& ResponsePending();
209  /// <summary>
210  /// The scheduled start date of an assignment.
211  /// </summary>
212  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& Start();
213  /// <summary>
214  /// The date when assignment is stopped.
215  /// </summary>
216  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& Stop();
217  /// <summary>
218  /// The date when assignment is resumed.
219  /// </summary>
220  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& Resume();
221  /// <summary>
222  /// The variance of an assignment start date from a baseline start date.
223  /// </summary>
224  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& StartVariance();
225  /// <summary>
226  /// Determines whether the task is a summary task.
227  /// </summary>
228  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& Summary();
229  /// <summary>
230  /// The earned value schedule variance, through the project status date.
231  /// Schedule variance (SV) is the difference between the BCWP and the BCWS.
232  /// </summary>
233  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& SV();
234  /// <summary>
235  /// The number of units for an assignment.
236  /// </summary>
237  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& Units();
238  /// <summary>
239  /// Determines whether the resource assigned to a task needs to be updated as to the status of the task.
240  /// </summary>
241  static ASPOSE_TASKS_SHARED_API Key<bool, AsnKey>& UpdateNeeded();
242  /// <summary>
243  /// The difference between baseline cost and total cost.
244  /// </summary>
245  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& VAC();
246  /// <summary>
247  /// The amount of scheduled work for an assignment.
248  /// </summary>
249  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& Work();
250  /// <summary>
251  /// The work contour of an assignment.
252  /// </summary>
253  static ASPOSE_TASKS_SHARED_API Key<WorkContourType, AsnKey>& WorkContour();
254  /// <summary>
255  /// The budgeted cost of a work on assignment.
256  /// </summary>
257  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& BCWS();
258  /// <summary>
259  /// The budgeted cost of a work performed on assignment to-date.
260  /// </summary>
261  static ASPOSE_TASKS_SHARED_API Key<double, AsnKey>& BCWP();
262  /// <summary>
263  /// The booking type of an assignment.
264  /// </summary>
265  static ASPOSE_TASKS_SHARED_API Key<Aspose::Tasks::BookingType, AsnKey>& BookingType();
266  /// <summary>
267  /// The duration through which actual overtime work is protected.
268  /// </summary>
269  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& ActualWorkProtected();
270  /// <summary>
271  /// The duration through which actual work is protected.
272  /// </summary>
273  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& ActualOvertimeWorkProtected();
274  /// <summary>
275  /// The actual amount of an overtime work incurred on an assignment.
276  /// </summary>
277  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& ActualOvertimeWork();
278  /// <summary>
279  /// The date that the assignment was created.
280  /// </summary>
281  static ASPOSE_TASKS_SHARED_API Key<System::DateTime, AsnKey>& Created();
282  /// <summary>
283  /// The name of an assignment owner.
284  /// </summary>
285  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& AssignmentOwner();
286  /// <summary>
287  /// The globally unique identifier of an assignment owner.
288  /// </summary>
289  static ASPOSE_TASKS_SHARED_API Key<System::String, AsnKey>& AssignmentOwnerGuid();
290  /// <summary>
291  /// The budgeted cost of resources on an assignment.
292  /// </summary>
293  static ASPOSE_TASKS_SHARED_API Key<System::Decimal, AsnKey>& BudgetCost();
294  /// <summary>
295  /// The budgeted work amount for a work or material resources on an assignment.
296  /// </summary>
297  static ASPOSE_TASKS_SHARED_API Key<Duration, AsnKey>& BudgetWork();
298  /// <summary>
299  /// The time unit for the usage rate of the material resource assignment.
300  /// Returns 0 if not defined.
301  /// </summary>
302  static ASPOSE_TASKS_SHARED_API Key<RateScaleType, AsnKey>& RateScale();
303 
304 public:
305  Asn() = delete;
306 };
307 
308 } // namespace Tasks
309 } // namespace Aspose
310 
311 
Represents properties of ResourceAssignment object.
Definition: Asn.h:43
Represents a task in a project.
Definition: Task.h:383
Represents a property key of a class of the specified type. An instance of this class is used when ge...
Definition: Asn.h:19
Represents a resource in a project.
Definition: Resource.h:206