Aspose.Tasks for C++
PrimaveraTaskProperties.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="PrimaveraTaskProperties.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/string.h>
9 #include <system/decimal.h>
10 #include <system/date_time.h>
11 #include <cstdint>
12 
13 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
14 
15 namespace Aspose
16 {
17 namespace Tasks
18 {
19 namespace Connectivity
20 {
21 class PmTaskMapper;
22 class PmWbsMapper;
23 class PrimaveraDbReader;
24 } // namespace Connectivity
25 namespace IO
26 {
27 namespace PrimaveraXml
28 {
29 class P6XmlUtils;
30 class PrimaveraActivityExpenseNodeReader;
31 class PrimaveraActivityNodeReader;
32 class PrimaveraProjectNodeReader;
33 class PrimaveraWBSNodeReader;
34 } // namespace PrimaveraXml
35 namespace Xer
36 {
37 class XerExpensesReader;
38 class XerTaskReader;
39 class XerWbsReader;
40 } // namespace Xer
41 } // namespace IO
42 namespace Primavera
43 {
44 enum class PrimaveraActivityType;
45 enum class PrimaveraDurationType;
46 enum class PrimaveraPercentCompleteType;
47 } // namespace Primavera
48 namespace Saving
49 {
50 class PrimaveraXerUtils;
51 } // namespace Saving
52 namespace Util
53 {
54 class PrimaveraSummaryTasksCalculator;
55 class PrimaveraTasksProcessor;
56 } // namespace Util
57 } // namespace Tasks
58 } // namespace Aspose
59 
60 namespace Aspose {
61 
62 namespace Tasks {
63 
64 /// <summary>
65 /// Represents Primavera-specific properties for a task read from Primavera files (XER of P6XML).
66 /// </summary>
67 class ASPOSE_TASKS_SHARED_CLASS PrimaveraTaskProperties final : public System::Object
68 {
70  typedef System::Object BaseType;
71 
72  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
73  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
74 
75  friend class Aspose::Tasks::IO::PrimaveraXml::P6XmlUtils;
76  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraActivityExpenseNodeReader;
77  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraActivityNodeReader;
78  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraProjectNodeReader;
79  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraWBSNodeReader;
80  friend class Aspose::Tasks::IO::Xer::XerExpensesReader;
81  friend class Aspose::Tasks::Util::PrimaveraSummaryTasksCalculator;
82  friend class Aspose::Tasks::Connectivity::PmTaskMapper;
83  friend class Aspose::Tasks::Connectivity::PmWbsMapper;
84  friend class Aspose::Tasks::Connectivity::PrimaveraDbReader;
85  friend class Aspose::Tasks::IO::Xer::XerTaskReader;
86  friend class Aspose::Tasks::IO::Xer::XerWbsReader;
87  friend class Aspose::Tasks::Saving::PrimaveraXerUtils;
88  friend class Aspose::Tasks::Util::PrimaveraTasksProcessor;
89 
90 public:
91 
92  /// <summary>
93  /// Gets the sequence number of the WBS item (summary tasks). It is used to sort summary tasks in Primavera.
94  /// </summary>
95  /// <remarks>Applicable to WBS items (summary tasks).</remarks>
96  ASPOSE_TASKS_SHARED_API int32_t get_SequenceNumber() const;
97  /// <summary>
98  /// Gets an activity id field - a task's unique identifier used by Primavera.
99  /// </summary>
100  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
101  ASPOSE_TASKS_SHARED_API System::String get_ActivityId() const;
102  /// <summary>
103  /// Gets remaining early finish date - the date when the remaining work for the activity is scheduled to be finished.
104  /// </summary>
105  ASPOSE_TASKS_SHARED_API System::DateTime get_RemainingEarlyFinish() const;
106  /// <summary>
107  /// Gets remaining early start date - the date when the remaining work for the activity is scheduled to begin.
108  /// </summary>
109  ASPOSE_TASKS_SHARED_API System::DateTime get_RemainingEarlyStart() const;
110  /// <summary>
111  /// Gets remaining late start date.
112  /// </summary>
113  ASPOSE_TASKS_SHARED_API System::DateTime get_RemainingLateStart() const;
114  /// <summary>
115  /// Gets remaining late finish date.
116  /// </summary>
117  ASPOSE_TASKS_SHARED_API System::DateTime get_RemainingLateFinish() const;
118  /// <summary>
119  /// Gets raw text representation (as in source file) of 'Duration Type' field of the activity.
120  /// </summary>
121  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
122  ASPOSE_TASKS_SHARED_API System::String get_RawDurationType() const;
123  /// <summary>
124  /// Gets the value of 'Duration Type' field of the activity.
125  /// </summary>
126  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
127  ASPOSE_TASKS_SHARED_API Primavera::PrimaveraDurationType get_DurationType() const;
128  /// <summary>
129  /// Gets raw text representation (as in source file) of 'Activity Type' field of the activity.
130  /// </summary>
131  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
132  ASPOSE_TASKS_SHARED_API System::String get_RawActivityType() const;
133  /// <summary>
134  /// Gets the value of 'Activity Type' field.
135  /// </summary>
136  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
137  ASPOSE_TASKS_SHARED_API Primavera::PrimaveraActivityType get_ActivityType() const;
138  /// <summary>
139  /// Gets the value of '% Complete Type' field of the activity.
140  /// </summary>
141  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
142  ASPOSE_TASKS_SHARED_API Primavera::PrimaveraPercentCompleteType get_PercentCompleteType() const;
143  /// <summary>
144  /// Gets raw text representation (as in source file) of '% Complete Type' field of the activity.
145  /// </summary>
146  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
147  ASPOSE_TASKS_SHARED_API System::String get_RawCompletePercentType() const;
148  /// <summary>
149  /// Gets raw text representation (as in source file) of 'Status' field of the activity.
150  /// </summary>
151  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
152  ASPOSE_TASKS_SHARED_API System::String get_RawStatus() const;
153  /// <summary>
154  /// Gets the value of Physical Percent Complete.
155  /// </summary>
156  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
157  ASPOSE_TASKS_SHARED_API double get_PhysicalPercentComplete() const;
158  /// <summary>
159  /// Gets the value of duration percent complete.
160  /// </summary>
161  ASPOSE_TASKS_SHARED_API double get_DurationPercentComplete() const;
162  /// <summary>
163  /// Gets the value of units percent complete.
164  /// </summary>
165  ASPOSE_TASKS_SHARED_API double get_UnitsPercentComplete();
166  /// <summary>
167  /// Gets the value of actual labor units.
168  /// </summary>
169  ASPOSE_TASKS_SHARED_API double get_ActualLaborUnits() const;
170  /// <summary>
171  /// Gets the value of actual non labor units.
172  /// </summary>
173  ASPOSE_TASKS_SHARED_API double get_ActualNonLaborUnits() const;
174  /// <summary>
175  /// Gets the value of remaining labor units.
176  /// </summary>
177  ASPOSE_TASKS_SHARED_API double get_RemainingLaborUnits() const;
178  /// <summary>
179  /// Gets the value of remaining non labor units.
180  /// </summary>
181  ASPOSE_TASKS_SHARED_API double get_RemainingNonLaborUnits() const;
182  /// <summary>
183  /// Gets the value of actual labor cost .
184  /// </summary>
185  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualLaborCost() const;
186  /// <summary>
187  /// Gets the value of budgeted (or planned) labor cost .
188  /// </summary>
189  ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetedLaborCost() const;
190  /// <summary>
191  /// Gets the value of actual non labor cost .
192  /// </summary>
193  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualNonlaborCost() const;
194  /// <summary>
195  /// Gets the value of budgeted (or planned) non labor cost .
196  /// </summary>
197  ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetedNonlaborCost() const;
198  /// <summary>
199  /// Gets the value of actual material cost.
200  /// </summary>
201  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualMaterialCost() const;
202  /// <summary>
203  /// Gets the value of of budgeted (or planned) material cost.
204  /// </summary>
205  ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetedMaterialCost() const;
206  /// <summary>
207  /// Gets the value of actual expense cost.
208  /// </summary>
209  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualExpenseCost() const;
210  /// <summary>
211  /// Gets the value of remaining expense cost.
212  /// </summary>
213  ASPOSE_TASKS_SHARED_API System::Decimal get_RemainingExpenseCost() const;
214  /// <summary>
215  /// Gets the value of budgeted (or planned) expense cost.
216  /// </summary>
217  ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetedExpenseCost() const;
218  /// <summary>
219  /// Gets the total value of actual costs.
220  /// </summary>
221  ASPOSE_TASKS_SHARED_API System::Decimal get_ActualTotalCost();
222  /// <summary>
223  /// Gets the total value of budgeted (or planned) costs.
224  /// </summary>
225  ASPOSE_TASKS_SHARED_API System::Decimal get_BudgetedTotalCost();
226 
227 protected:
228 
229  /// <summary>
230  /// Sets the sequence number of the WBS item (summary tasks). It is used to sort summary tasks in Primavera.
231  /// </summary>
232  /// <remarks>Applicable to WBS items (summary tasks).</remarks>
233  ASPOSE_TASKS_SHARED_API void set_SequenceNumber(int32_t value);
234  /// <summary>
235  /// Gets an activity id field - a task's unique identifier used by Primavera.
236  /// </summary>
237  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
238  ASPOSE_TASKS_SHARED_API void set_ActivityId(const System::String& value);
239  /// <summary>
240  /// Gets remaining early finish date - the date when the remaining work for the activity is scheduled to be finished.
241  /// </summary>
242  ASPOSE_TASKS_SHARED_API void set_RemainingEarlyFinish(System::DateTime value);
243  /// <summary>
244  /// Gets remaining early start date - the date when the remaining work for the activity is scheduled to begin.
245  /// </summary>
246  ASPOSE_TASKS_SHARED_API void set_RemainingEarlyStart(System::DateTime value);
247  /// <summary>
248  /// Gets remaining late start date.
249  /// </summary>
250  ASPOSE_TASKS_SHARED_API void set_RemainingLateStart(System::DateTime value);
251  /// <summary>
252  /// Gets remaining late finish date.
253  /// </summary>
254  ASPOSE_TASKS_SHARED_API void set_RemainingLateFinish(System::DateTime value);
255  /// <summary>
256  /// Gets raw text representation (as in source file) of 'Duration Type' field of the activity.
257  /// </summary>
258  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
259  ASPOSE_TASKS_SHARED_API void set_RawDurationType(const System::String& value);
260  /// <summary>
261  /// Gets the value of 'Duration Type' field of the activity.
262  /// </summary>
263  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
264  ASPOSE_TASKS_SHARED_API void set_DurationType(Primavera::PrimaveraDurationType value);
265  /// <summary>
266  /// Gets raw text representation (as in source file) of 'Activity Type' field of the activity.
267  /// </summary>
268  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
269  ASPOSE_TASKS_SHARED_API void set_RawActivityType(const System::String& value);
270  /// <summary>
271  /// Gets the value of 'Activity Type' field.
272  /// </summary>
273  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
274  ASPOSE_TASKS_SHARED_API void set_ActivityType(Primavera::PrimaveraActivityType value);
275  /// <summary>
276  /// Gets the value of '% Complete Type' field of the activity.
277  /// </summary>
278  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
279  ASPOSE_TASKS_SHARED_API void set_PercentCompleteType(Primavera::PrimaveraPercentCompleteType value);
280  /// <summary>
281  /// Gets raw text representation (as in source file) of '% Complete Type' field of the activity.
282  /// </summary>
283  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
284  ASPOSE_TASKS_SHARED_API void set_RawCompletePercentType(const System::String& value);
285  /// <summary>
286  /// Gets raw text representation (as in source file) of 'Status' field of the activity.
287  /// </summary>
288  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
289  ASPOSE_TASKS_SHARED_API void set_RawStatus(const System::String& value);
290  /// <summary>
291  /// Gets the value of Physical Percent Complete.
292  /// </summary>
293  /// <remarks>Applicable only to activities (non-summary tasks).</remarks>
294  ASPOSE_TASKS_SHARED_API void set_PhysicalPercentComplete(double value);
295  /// <summary>
296  /// Gets the value of duration percent complete.
297  /// </summary>
298  ASPOSE_TASKS_SHARED_API void set_DurationPercentComplete(double value);
299  /// <summary>
300  /// Gets the value of actual labor units.
301  /// </summary>
302  ASPOSE_TASKS_SHARED_API void set_ActualLaborUnits(double value);
303  /// <summary>
304  /// Gets the value of actual non labor units.
305  /// </summary>
306  ASPOSE_TASKS_SHARED_API void set_ActualNonLaborUnits(double value);
307  /// <summary>
308  /// Gets the value of remaining labor units.
309  /// </summary>
310  ASPOSE_TASKS_SHARED_API void set_RemainingLaborUnits(double value);
311  /// <summary>
312  /// Gets the value of remaining non labor units.
313  /// </summary>
314  ASPOSE_TASKS_SHARED_API void set_RemainingNonLaborUnits(double value);
315  /// <summary>
316  /// Gets the value of actual labor cost .
317  /// </summary>
318  ASPOSE_TASKS_SHARED_API void set_ActualLaborCost(System::Decimal value);
319  /// <summary>
320  /// Gets the value of budgeted (or planned) labor cost .
321  /// </summary>
322  ASPOSE_TASKS_SHARED_API void set_BudgetedLaborCost(System::Decimal value);
323  /// <summary>
324  /// Gets the value of actual non labor cost .
325  /// </summary>
326  ASPOSE_TASKS_SHARED_API void set_ActualNonlaborCost(System::Decimal value);
327  /// <summary>
328  /// Gets the value of budgeted (or planned) non labor cost .
329  /// </summary>
330  ASPOSE_TASKS_SHARED_API void set_BudgetedNonlaborCost(System::Decimal value);
331  /// <summary>
332  /// Gets the value of actual material cost.
333  /// </summary>
334  ASPOSE_TASKS_SHARED_API void set_ActualMaterialCost(System::Decimal value);
335  /// <summary>
336  /// Gets the value of of budgeted (or planned) material cost.
337  /// </summary>
338  ASPOSE_TASKS_SHARED_API void set_BudgetedMaterialCost(System::Decimal value);
339  /// <summary>
340  /// Gets the value of actual expense cost.
341  /// </summary>
342  ASPOSE_TASKS_SHARED_API void set_ActualExpenseCost(System::Decimal value);
343  /// <summary>
344  /// Gets the value of remaining expense cost.
345  /// </summary>
346  ASPOSE_TASKS_SHARED_API void set_RemainingExpenseCost(System::Decimal value);
347  /// <summary>
348  /// Gets the value of budgeted (or planned) expense cost.
349  /// </summary>
350  ASPOSE_TASKS_SHARED_API void set_BudgetedExpenseCost(System::Decimal value);
351 
352  ASPOSE_TASKS_SHARED_API PrimaveraTaskProperties();
353 
354  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(PrimaveraTaskProperties, CODEPORTING_ARGS());
355  #ifdef ASPOSE_GET_SHARED_MEMBERS
356  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
357  #endif
358 
359 
360 private:
361 
362  int32_t pr_SequenceNumber;
363  System::String pr_ActivityId;
364  System::DateTime pr_RemainingEarlyFinish;
365  System::DateTime pr_RemainingEarlyStart;
366  System::DateTime pr_RemainingLateStart;
367  System::DateTime pr_RemainingLateFinish;
368  System::String pr_RawDurationType;
369  Primavera::PrimaveraDurationType pr_DurationType;
370  System::String pr_RawActivityType;
371  Primavera::PrimaveraActivityType pr_ActivityType;
372  Primavera::PrimaveraPercentCompleteType pr_PercentCompleteType;
373  System::String pr_RawCompletePercentType;
374  System::String pr_RawStatus;
375  double pr_PhysicalPercentComplete;
376  double pr_DurationPercentComplete;
377  double pr_ActualLaborUnits;
378  double pr_ActualNonLaborUnits;
379  double pr_RemainingLaborUnits;
380  double pr_RemainingNonLaborUnits;
381  System::Decimal pr_ActualLaborCost;
382  System::Decimal pr_BudgetedLaborCost;
383  System::Decimal pr_ActualNonlaborCost;
384  System::Decimal pr_BudgetedNonlaborCost;
385  System::Decimal pr_ActualMaterialCost;
386  System::Decimal pr_BudgetedMaterialCost;
387  System::Decimal pr_ActualExpenseCost;
388  System::Decimal pr_RemainingExpenseCost;
389  System::Decimal pr_BudgetedExpenseCost;
390 
391 };
392 
393 } // namespace Tasks
394 } // namespace Aspose
395 
396 
Represents Primavera-specific properties for a task read from Primavera files (XER of P6XML).
Definition: PrimaveraTaskProperties.h:68
System::DateTime get_RemainingEarlyStart() const
Gets remaining early start date - the date when the remaining work for the activity is scheduled to b...
System::String get_RawActivityType() const
Gets raw text representation (as in source file) of 'Activity Type' field of the activity.
System::DateTime get_RemainingEarlyFinish() const
Gets remaining early finish date - the date when the remaining work for the activity is scheduled to ...
double get_DurationPercentComplete() const
Gets the value of duration percent complete.
System::Decimal get_BudgetedNonlaborCost() const
Gets the value of budgeted (or planned) non labor cost .
int32_t get_SequenceNumber() const
Gets the sequence number of the WBS item (summary tasks). It is used to sort summary tasks in Primave...
double get_ActualNonLaborUnits() const
Gets the value of actual non labor units.
double get_PhysicalPercentComplete() const
Gets the value of Physical Percent Complete.
System::Decimal get_ActualTotalCost()
Gets the total value of actual costs.
System::Decimal get_RemainingExpenseCost() const
Gets the value of remaining expense cost.
double get_ActualLaborUnits() const
Gets the value of actual labor units.
double get_RemainingNonLaborUnits() const
Gets the value of remaining non labor units.
System::Decimal get_ActualExpenseCost() const
Gets the value of actual expense cost.
System::Decimal get_BudgetedMaterialCost() const
Gets the value of of budgeted (or planned) material cost.
System::DateTime get_RemainingLateFinish() const
Gets remaining late finish date.
Primavera::PrimaveraDurationType get_DurationType() const
Gets the value of 'Duration Type' field of the activity.
System::Decimal get_ActualMaterialCost() const
Gets the value of actual material cost.
System::Decimal get_ActualNonlaborCost() const
Gets the value of actual non labor cost .
double get_RemainingLaborUnits() const
Gets the value of remaining labor units.
System::String get_RawCompletePercentType() const
Gets raw text representation (as in source file) of '% Complete Type' field of the activity.
System::DateTime get_RemainingLateStart() const
Gets remaining late start date.
System::String get_RawStatus() const
Gets raw text representation (as in source file) of 'Status' field of the activity.
System::Decimal get_ActualLaborCost() const
Gets the value of actual labor cost .
System::Decimal get_BudgetedLaborCost() const
Gets the value of budgeted (or planned) labor cost .
System::Decimal get_BudgetedExpenseCost() const
Gets the value of budgeted (or planned) expense cost.
System::String get_ActivityId() const
Gets an activity id field - a task's unique identifier used by Primavera.
Primavera::PrimaveraActivityType get_ActivityType() const
Gets the value of 'Activity Type' field.
Primavera::PrimaveraPercentCompleteType get_PercentCompleteType() const
Gets the value of '% Complete Type' field of the activity.
System::String get_RawDurationType() const
Gets raw text representation (as in source file) of 'Duration Type' field of the activity.
double get_UnitsPercentComplete()
Gets the value of units percent complete.
System::Decimal get_BudgetedTotalCost()
Gets the total value of budgeted (or planned) costs.
Definition: Asn.h:13