Aspose.Tasks for C++
AssignmentBaseline.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="AssignmentBaseline.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/shared_ptr.h>
9 #include <system/nullable.h>
10 #include <system/iequatable.h>
11 #include <system/icomparable.h>
12 #include <system/details/pointer_collection_helpers.h>
13 #include <system/date_time.h>
14 #include <cstdint>
15 
16 #include "aspose.tasks.cpp/Baseline.h"
17 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
18 
19 namespace Aspose
20 {
21 namespace Tasks
22 {
23 class AssignmentBaselineCollection;
24 class Baseline;
25 namespace Connectivity
26 {
27 class MpdAssignmentBaselineMapper;
28 class MpdAssignmentMapper;
29 class MspAssignmentBaseLineMapper;
30 } // namespace Connectivity
31 class EVCalculator;
32 namespace IO
33 {
34 namespace Html
35 {
36 class HtmlResourceAssignmentBaseLineTableReader;
37 } // namespace Html
38 namespace MSProject
39 {
40 class MPP12ResourceAssignmentWriter;
41 class MPP14As9AssnWriter;
42 template <typename> class MPP14AsXResourceAssignmentReader;
43 class MPP14ResourceAssignmentWriter;
44 class MPP9ResourceAssignmentReader;
45 class MPP9ResourceAssignmentWriter;
46 } // namespace MSProject
47 namespace Pwa
48 {
49 namespace InternalApi
50 {
51 namespace Mapping
52 {
53 class ProjectAssignmentsMapper;
54 } // namespace Mapping
55 } // namespace InternalApi
56 } // namespace Pwa
57 namespace Xml
58 {
59 class ResourceAssignmentNodeReader;
60 } // namespace Xml
61 } // namespace IO
62 class ResourceAssignment;
63 namespace Saving
64 {
65 class HtmlResourceAssignmentBaseLineTable;
66 } // namespace Saving
67 class TimephasedDataCollection;
68 } // namespace Tasks
69 } // namespace Aspose
70 namespace System
71 {
72 template <typename> class WeakPtr;
73 } // namespace System
74 
75 namespace Aspose {
76 
77 namespace Tasks {
78 
79 /// <summary>
80 /// Represents Baseline of a resource assignment.
81 /// </summary>
82 /// <inheritdoc cref="Baseline" ></inheritdoc>
83 class ASPOSE_TASKS_SHARED_CLASS AssignmentBaseline : public Aspose::Tasks::Baseline, public System::IEquatable<System::SharedPtr<Aspose::Tasks::AssignmentBaseline>>, public System::IComparable<System::SharedPtr<Aspose::Tasks::AssignmentBaseline>>
84 {
87  typedef System::IEquatable<System::SharedPtr<Aspose::Tasks::AssignmentBaseline>> BaseType1;
88  typedef System::IComparable<System::SharedPtr<Aspose::Tasks::AssignmentBaseline>> BaseType2;
89 
90  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2> ThisTypeBaseTypesInfo;
91  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
92 
95  friend class Aspose::Tasks::EVCalculator;
96  friend class Aspose::Tasks::Connectivity::MpdAssignmentBaselineMapper;
97  friend class Aspose::Tasks::Connectivity::MspAssignmentBaseLineMapper;
98  friend class Aspose::Tasks::IO::Html::HtmlResourceAssignmentBaseLineTableReader;
99  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentReader;
100  template<typename FT0> friend class Aspose::Tasks::IO::MSProject::MPP14AsXResourceAssignmentReader;
101  friend class Aspose::Tasks::IO::MSProject::MPP14ResourceAssignmentWriter;
102  friend class Aspose::Tasks::IO::MSProject::MPP12ResourceAssignmentWriter;
103  friend class Aspose::Tasks::IO::MSProject::MPP14As9AssnWriter;
104  friend class Aspose::Tasks::IO::MSProject::MPP9ResourceAssignmentWriter;
105  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectAssignmentsMapper;
106  friend class Aspose::Tasks::IO::Xml::ResourceAssignmentNodeReader;
107  friend class Aspose::Tasks::Saving::HtmlResourceAssignmentBaseLineTable;
108  friend class Aspose::Tasks::Connectivity::MpdAssignmentMapper;
109 
110 public:
111 
112  /// <summary>
113  /// Gets the <see cref="TimephasedDataCollection"></see> instance for this object.
114  /// The time phased data associated with the resource assignment baseline.
115  /// <returns>returns <see cref="TimephasedDataCollection"></see> instance for this object.</returns>
116  /// <value>The collection of Time phased data associated with this baseline.</value>
117  /// </summary>
118  ASPOSE_TASKS_SHARED_API System::SharedPtr<TimephasedDataCollection> get_TimephasedData();
119  /// <summary>
120  /// Sets the <see cref="TimephasedDataCollection"></see> instance for this object.
121  /// The time phased data associated with the resource assignment baseline.
122  /// <param name="value">returns <see cref="TimephasedDataCollection"></see> instance for this object.</param>
123  /// <value>The collection of Time phased data associated with this baseline.</value>
124  /// </summary>
125  ASPOSE_TASKS_SHARED_API void set_TimephasedData(const System::SharedPtr<TimephasedDataCollection>& value);
126  /// <summary>
127  /// Gets the scheduled start date of the resource assignment when the baseline was saved.
128  /// <value>The start date of the resource assignment when this baseline was saved.</value>
129  /// </summary>
130  ASPOSE_TASKS_SHARED_API System::Nullable<System::DateTime> get_Start() const;
131  /// <summary>
132  /// Sets the scheduled start date of the resource assignment when the baseline was saved.
133  /// <value>The start date of the resource assignment when this baseline was saved.</value>
134  /// </summary>
135  ASPOSE_TASKS_SHARED_API void set_Start(System::Nullable<System::DateTime> value);
136  /// <summary>
137  /// Gets the scheduled finish date of the resource assignment when the baseline was saved.
138  /// <value>The finish date of the resource assignment when this baseline was saved.</value>
139  /// </summary>
140  ASPOSE_TASKS_SHARED_API System::Nullable<System::DateTime> get_Finish() const;
141  /// <summary>
142  /// Sets the scheduled finish date of the resource assignment when the baseline was saved.
143  /// <value>The finish date of the resource assignment when this baseline was saved.</value>
144  /// </summary>
145  ASPOSE_TASKS_SHARED_API void set_Finish(System::Nullable<System::DateTime> value);
146 
147  /// <summary>
148  /// IComparable interface implementation.
149  /// Compares this instance to the specified Baseline object.
150  /// </summary>
151  /// <param name="other"> the specified Baseline object to compare this instance to.</param>
152  /// <returns>returns -1 if this instance is less than the specified object, 1 if this instance is greater than the specified object; otherwise returns 0</returns>
153  ASPOSE_TASKS_SHARED_API int32_t CompareTo(System::SharedPtr<AssignmentBaseline> other) override;
154  /// <summary>
155  /// Returns a value indicating whether this instance is equal to a specified object.
156  /// </summary>
157  /// <param name="obj">the specified object to compare with this instance.</param>
158  /// <returns>returns true if this instance is equal to the specified object; otherwise, false.</returns>
159  ASPOSE_TASKS_SHARED_API bool Equals(System::SharedPtr<System::Object> obj) override;
160  /// <summary>
161  /// Returns a value indicating whether this instance is equal to the specified AssignmentBaseline object.
162  /// </summary>
163  /// <param name="other">the specified AssignmentBaseline object to compare with this instance.</param>
164  /// <returns>returns true if this instance is equal to the specified AssignmentBaseline object; otherwise, false.</returns>
165  ASPOSE_TASKS_SHARED_API bool Equals(System::SharedPtr<AssignmentBaseline> other) override;
166  /// <inheritdoc ></inheritdoc>
167  ASPOSE_TASKS_SHARED_API int32_t GetHashCode() const override;
168 
169  ASPOSE_TASKS_SHARED_API AssignmentBaseline();
170 
171  ASPOSE_TASKS_SHARED_API void SetTemplateWeakPtr(uint32_t argument) override;
172 
173 protected:
174 
175  /// <summary>
176  /// Gets cost per use for the resource when the baseline was saved.
177  /// <value>The cost that accrues every time that a resource is used when the baseline was saved.</value>
178  /// </summary>
179  ASPOSE_TASKS_SHARED_API double get_ResourceCostPerUse() const;
180  /// <summary>
181  /// Sets cost per use for the resource when the baseline was saved.
182  /// <value>The cost that accrues every time that a resource is used when the baseline was saved.</value>
183  /// </summary>
184  ASPOSE_TASKS_SHARED_API void set_ResourceCostPerUse(double value);
185  /// <summary>
186  /// Gets the resource assignment of this baseline.
187  /// <value>The resource assignment of this baseline.</value>
188  /// </summary>
189  ASPOSE_TASKS_SHARED_API const System::SharedPtr<ResourceAssignment>& get_Assignment() const;
190  /// <summary>
191  /// Sets the resource assignment of this baseline.
192  /// <value>The resource assignment of this baseline.</value>
193  /// </summary>
194  ASPOSE_TASKS_SHARED_API void set_Assignment(const System::SharedPtr<ResourceAssignment>& value);
195 
196  #ifdef ASPOSE_GET_SHARED_MEMBERS
197  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
198  #endif
199 
200 
201 private:
202 
203  /// <summary>
204  /// The timephased data.
205  /// </summary>
206  System::SharedPtr<TimephasedDataCollection> timephasedData;
207  System::Nullable<System::DateTime> pr_Start;
208  System::Nullable<System::DateTime> pr_Finish;
209  double pr_ResourceCostPerUse;
210  System::WeakPtr<ResourceAssignment> pr_Assignment;
211 
212 };
213 
214 } // namespace Tasks
215 } // namespace Aspose
216 
217 
Represents Baseline of a resource assignment.
Definition: AssignmentBaseline.h:83
Represents baseline values of a resource.
Definition: Baseline.h:52
Represents a collection of AssignmentBaseline objects.
Definition: AssignmentBaselineCollection.h:92
Represents a resource assignment in a project.
Definition: ResourceAssignment.h:221