aspose_tasks_cloud 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +49 -0
- data/aspose_tasks_cloud.gemspec +26 -0
- data/lib/aspose_tasks_cloud.rb +92 -0
- data/lib/aspose_tasks_cloud/api/tasks_api.rb +2585 -0
- data/lib/aspose_tasks_cloud/api_client.rb +335 -0
- data/lib/aspose_tasks_cloud/api_error.rb +24 -0
- data/lib/aspose_tasks_cloud/configuration.rb +166 -0
- data/lib/aspose_tasks_cloud/models/assignment_item.rb +61 -0
- data/lib/aspose_tasks_cloud/models/assignment_item_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/assignment_items.rb +47 -0
- data/lib/aspose_tasks_cloud/models/assignment_items_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/assignment_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/assignments_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/base_object.rb +86 -0
- data/lib/aspose_tasks_cloud/models/base_response.rb +53 -0
- data/lib/aspose_tasks_cloud/models/calendar.rb +89 -0
- data/lib/aspose_tasks_cloud/models/calendar_exception.rb +145 -0
- data/lib/aspose_tasks_cloud/models/calendar_exceptions_response.rb +63 -0
- data/lib/aspose_tasks_cloud/models/calendar_item.rb +53 -0
- data/lib/aspose_tasks_cloud/models/calendar_item_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/calendar_items.rb +47 -0
- data/lib/aspose_tasks_cloud/models/calendar_items_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/calendar_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/document_properties.rb +47 -0
- data/lib/aspose_tasks_cloud/models/document_properties_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/document_property.rb +53 -0
- data/lib/aspose_tasks_cloud/models/document_property_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/extended_attribute.rb +61 -0
- data/lib/aspose_tasks_cloud/models/extended_attribute_definition.rb +207 -0
- data/lib/aspose_tasks_cloud/models/extended_attribute_item.rb +53 -0
- data/lib/aspose_tasks_cloud/models/extended_attribute_items.rb +47 -0
- data/lib/aspose_tasks_cloud/models/extended_attribute_items_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/extended_attribute_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/link.rb +61 -0
- data/lib/aspose_tasks_cloud/models/outline_code.rb +53 -0
- data/lib/aspose_tasks_cloud/models/outline_code_definition.rb +145 -0
- data/lib/aspose_tasks_cloud/models/outline_code_item.rb +45 -0
- data/lib/aspose_tasks_cloud/models/outline_code_items.rb +47 -0
- data/lib/aspose_tasks_cloud/models/outline_code_items_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/outline_code_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/outline_mask.rb +61 -0
- data/lib/aspose_tasks_cloud/models/outline_value.rb +85 -0
- data/lib/aspose_tasks_cloud/models/recurring_info.rb +197 -0
- data/lib/aspose_tasks_cloud/models/recurring_info_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/resource.rb +945 -0
- data/lib/aspose_tasks_cloud/models/resource_assignment.rb +1063 -0
- data/lib/aspose_tasks_cloud/models/resource_assignments.rb +47 -0
- data/lib/aspose_tasks_cloud/models/resource_item.rb +61 -0
- data/lib/aspose_tasks_cloud/models/resource_item_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/resource_items.rb +47 -0
- data/lib/aspose_tasks_cloud/models/resource_items_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/resource_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/task.rb +1595 -0
- data/lib/aspose_tasks_cloud/models/task_document.rb +63 -0
- data/lib/aspose_tasks_cloud/models/task_document_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/task_item.rb +85 -0
- data/lib/aspose_tasks_cloud/models/task_item_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/task_items.rb +47 -0
- data/lib/aspose_tasks_cloud/models/task_items_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/task_link.rb +85 -0
- data/lib/aspose_tasks_cloud/models/task_link_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/task_links_response.rb +63 -0
- data/lib/aspose_tasks_cloud/models/task_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/value.rb +61 -0
- data/lib/aspose_tasks_cloud/models/wbs_code_mask.rb +61 -0
- data/lib/aspose_tasks_cloud/models/wbs_definition.rb +63 -0
- data/lib/aspose_tasks_cloud/models/wbs_definition_response.rb +61 -0
- data/lib/aspose_tasks_cloud/models/week_day.rb +71 -0
- data/lib/aspose_tasks_cloud/models/working_time.rb +45 -0
- data/lib/aspose_tasks_cloud/version.rb +3 -0
- data/test/data/ExtendedAttribute.mpp +0 -0
- data/test/data/Outlinecode.mpp +0 -0
- data/test/data/ResourceWithExtAttribs.xml +345 -0
- data/test/data/sample-project-2.mpp +0 -0
- data/test/data/sample-project.mpp +0 -0
- data/test/tasks_tests.rb +430 -0
- metadata +207 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
module AsposeTasksCloud
|
2
|
+
#
|
3
|
+
class WorkingTime < BaseObject
|
4
|
+
attr_accessor :from_time, :to_time
|
5
|
+
# attribute mapping from ruby-style variable name to JSON key
|
6
|
+
def self.attribute_map
|
7
|
+
{
|
8
|
+
|
9
|
+
#
|
10
|
+
:'from_time' => :'FromTime',
|
11
|
+
|
12
|
+
#
|
13
|
+
:'to_time' => :'ToTime'
|
14
|
+
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
# attribute type
|
19
|
+
def self.swagger_types
|
20
|
+
{
|
21
|
+
:'from_time' => :'String',
|
22
|
+
:'to_time' => :'String'
|
23
|
+
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
def initialize(attributes = {})
|
28
|
+
return if !attributes.is_a?(Hash) || attributes.empty?
|
29
|
+
|
30
|
+
# convert string to symbol for hash key
|
31
|
+
attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
32
|
+
|
33
|
+
|
34
|
+
if attributes[:'FromTime']
|
35
|
+
self.from_time = attributes[:'FromTime']
|
36
|
+
end
|
37
|
+
|
38
|
+
if attributes[:'ToTime']
|
39
|
+
self.to_time = attributes[:'ToTime']
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
Binary file
|
Binary file
|
@@ -0,0 +1,345 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
2
|
+
<Project xmlns="http://schemas.microsoft.com/project">
|
3
|
+
<!--Published by Aspose.Tasks 2009 for .NET 6.2.0.0-->
|
4
|
+
<SaveVersion>14</SaveVersion>
|
5
|
+
<CreationDate>2000-09-10T08:00:00</CreationDate>
|
6
|
+
<LastSaved>2000-09-10T23:20:53</LastSaved>
|
7
|
+
<ScheduleFromStart>1</ScheduleFromStart>
|
8
|
+
<StartDate>2000-09-10T08:00:00</StartDate>
|
9
|
+
<FinishDate>2000-09-10T08:00:00</FinishDate>
|
10
|
+
<FYStartDate>1</FYStartDate>
|
11
|
+
<CriticalSlackLimit>0</CriticalSlackLimit>
|
12
|
+
<CurrencyDigits>2</CurrencyDigits>
|
13
|
+
<CurrencySymbol>$</CurrencySymbol>
|
14
|
+
<CurrencyCode>USD</CurrencyCode>
|
15
|
+
<CurrencySymbolPosition>0</CurrencySymbolPosition>
|
16
|
+
<CalendarUID>1</CalendarUID>
|
17
|
+
<DefaultStartTime>08:00:00</DefaultStartTime>
|
18
|
+
<DefaultFinishTime>17:00:00</DefaultFinishTime>
|
19
|
+
<MinutesPerDay>480</MinutesPerDay>
|
20
|
+
<MinutesPerWeek>2400</MinutesPerWeek>
|
21
|
+
<DaysPerMonth>20</DaysPerMonth>
|
22
|
+
<DefaultTaskType>0</DefaultTaskType>
|
23
|
+
<DefaultFixedCostAccrual>3</DefaultFixedCostAccrual>
|
24
|
+
<DefaultStandardRate>0</DefaultStandardRate>
|
25
|
+
<DefaultOvertimeRate>0</DefaultOvertimeRate>
|
26
|
+
<DurationFormat>7</DurationFormat>
|
27
|
+
<WorkFormat>2</WorkFormat>
|
28
|
+
<EditableActualCosts>0</EditableActualCosts>
|
29
|
+
<HonorConstraints>0</HonorConstraints>
|
30
|
+
<InsertedProjectsLikeSummary>0</InsertedProjectsLikeSummary>
|
31
|
+
<MultipleCriticalPaths>0</MultipleCriticalPaths>
|
32
|
+
<NewTasksEffortDriven>0</NewTasksEffortDriven>
|
33
|
+
<NewTasksEstimated>0</NewTasksEstimated>
|
34
|
+
<SplitsInProgressTasks>0</SplitsInProgressTasks>
|
35
|
+
<SpreadActualCost>0</SpreadActualCost>
|
36
|
+
<SpreadPercentComplete>0</SpreadPercentComplete>
|
37
|
+
<TaskUpdatesResource>0</TaskUpdatesResource>
|
38
|
+
<FiscalYearStart>0</FiscalYearStart>
|
39
|
+
<WeekStartDay>1</WeekStartDay>
|
40
|
+
<MoveCompletedEndsBack>0</MoveCompletedEndsBack>
|
41
|
+
<MoveRemainingStartsBack>0</MoveRemainingStartsBack>
|
42
|
+
<MoveRemainingStartsForward>0</MoveRemainingStartsForward>
|
43
|
+
<MoveCompletedEndsForward>0</MoveCompletedEndsForward>
|
44
|
+
<BaselineForEarnedValue>0</BaselineForEarnedValue>
|
45
|
+
<AutoAddNewResourcesAndTasks>0</AutoAddNewResourcesAndTasks>
|
46
|
+
<MicrosoftProjectServerURL>0</MicrosoftProjectServerURL>
|
47
|
+
<Autolink>0</Autolink>
|
48
|
+
<NewTaskStartDate>0</NewTaskStartDate>
|
49
|
+
<DefaultTaskEVMethod>0</DefaultTaskEVMethod>
|
50
|
+
<ProjectExternallyEdited>0</ProjectExternallyEdited>
|
51
|
+
<ExtendedCreationDate>2000-01-01T00:00:00</ExtendedCreationDate>
|
52
|
+
<ActualsInSync>0</ActualsInSync>
|
53
|
+
<RemoveFileProperties>0</RemoveFileProperties>
|
54
|
+
<AdminProject>0</AdminProject>
|
55
|
+
<OutlineCodes />
|
56
|
+
<ExtendedAttributes />
|
57
|
+
<Calendars>
|
58
|
+
<Calendar>
|
59
|
+
<UID>1</UID>
|
60
|
+
<Name>Standard</Name>
|
61
|
+
<IsBaseCalendar>1</IsBaseCalendar>
|
62
|
+
<BaseCalendarUID>-1</BaseCalendarUID>
|
63
|
+
<WeekDays>
|
64
|
+
<WeekDay>
|
65
|
+
<DayType>2</DayType>
|
66
|
+
<DayWorking>1</DayWorking>
|
67
|
+
<WorkingTimes>
|
68
|
+
<WorkingTime>
|
69
|
+
<FromTime>08:00:00</FromTime>
|
70
|
+
<ToTime>12:00:00</ToTime>
|
71
|
+
</WorkingTime>
|
72
|
+
<WorkingTime>
|
73
|
+
<FromTime>13:00:00</FromTime>
|
74
|
+
<ToTime>17:00:00</ToTime>
|
75
|
+
</WorkingTime>
|
76
|
+
</WorkingTimes>
|
77
|
+
</WeekDay>
|
78
|
+
<WeekDay>
|
79
|
+
<DayType>3</DayType>
|
80
|
+
<DayWorking>1</DayWorking>
|
81
|
+
<WorkingTimes>
|
82
|
+
<WorkingTime>
|
83
|
+
<FromTime>08:00:00</FromTime>
|
84
|
+
<ToTime>12:00:00</ToTime>
|
85
|
+
</WorkingTime>
|
86
|
+
<WorkingTime>
|
87
|
+
<FromTime>13:00:00</FromTime>
|
88
|
+
<ToTime>17:00:00</ToTime>
|
89
|
+
</WorkingTime>
|
90
|
+
</WorkingTimes>
|
91
|
+
</WeekDay>
|
92
|
+
<WeekDay>
|
93
|
+
<DayType>4</DayType>
|
94
|
+
<DayWorking>1</DayWorking>
|
95
|
+
<WorkingTimes>
|
96
|
+
<WorkingTime>
|
97
|
+
<FromTime>08:00:00</FromTime>
|
98
|
+
<ToTime>12:00:00</ToTime>
|
99
|
+
</WorkingTime>
|
100
|
+
<WorkingTime>
|
101
|
+
<FromTime>13:00:00</FromTime>
|
102
|
+
<ToTime>17:00:00</ToTime>
|
103
|
+
</WorkingTime>
|
104
|
+
</WorkingTimes>
|
105
|
+
</WeekDay>
|
106
|
+
<WeekDay>
|
107
|
+
<DayType>5</DayType>
|
108
|
+
<DayWorking>1</DayWorking>
|
109
|
+
<WorkingTimes>
|
110
|
+
<WorkingTime>
|
111
|
+
<FromTime>08:00:00</FromTime>
|
112
|
+
<ToTime>12:00:00</ToTime>
|
113
|
+
</WorkingTime>
|
114
|
+
<WorkingTime>
|
115
|
+
<FromTime>13:00:00</FromTime>
|
116
|
+
<ToTime>17:00:00</ToTime>
|
117
|
+
</WorkingTime>
|
118
|
+
</WorkingTimes>
|
119
|
+
</WeekDay>
|
120
|
+
<WeekDay>
|
121
|
+
<DayType>6</DayType>
|
122
|
+
<DayWorking>1</DayWorking>
|
123
|
+
<WorkingTimes>
|
124
|
+
<WorkingTime>
|
125
|
+
<FromTime>08:00:00</FromTime>
|
126
|
+
<ToTime>12:00:00</ToTime>
|
127
|
+
</WorkingTime>
|
128
|
+
<WorkingTime>
|
129
|
+
<FromTime>13:00:00</FromTime>
|
130
|
+
<ToTime>17:00:00</ToTime>
|
131
|
+
</WorkingTime>
|
132
|
+
</WorkingTimes>
|
133
|
+
</WeekDay>
|
134
|
+
<WeekDay>
|
135
|
+
<DayType>7</DayType>
|
136
|
+
<DayWorking>0</DayWorking>
|
137
|
+
</WeekDay>
|
138
|
+
<WeekDay>
|
139
|
+
<DayType>1</DayType>
|
140
|
+
<DayWorking>0</DayWorking>
|
141
|
+
</WeekDay>
|
142
|
+
</WeekDays>
|
143
|
+
</Calendar>
|
144
|
+
</Calendars>
|
145
|
+
<Tasks>
|
146
|
+
<Task>
|
147
|
+
<UID>0</UID>
|
148
|
+
<ID>0</ID>
|
149
|
+
<Manual>0</Manual>
|
150
|
+
<Type>0</Type>
|
151
|
+
<IsNull>0</IsNull>
|
152
|
+
<CreateDate>2000-09-10T23:20:53</CreateDate>
|
153
|
+
<OutlineLevel>0</OutlineLevel>
|
154
|
+
<Priority>500</Priority>
|
155
|
+
<Start>2000-09-10T08:00:00</Start>
|
156
|
+
<Finish>2000-09-10T08:00:00</Finish>
|
157
|
+
<Duration>PT0H0M0S</Duration>
|
158
|
+
<ManualStart>2000-09-10T08:00:00</ManualStart>
|
159
|
+
<ManualFinish>2000-09-10T08:00:00</ManualFinish>
|
160
|
+
<ManualDuration>PT0H0M0S</ManualDuration>
|
161
|
+
<DurationFormat>21</DurationFormat>
|
162
|
+
<Work>PT0H0M0S</Work>
|
163
|
+
<ResumeValid>0</ResumeValid>
|
164
|
+
<EffortDriven>0</EffortDriven>
|
165
|
+
<Recurring>0</Recurring>
|
166
|
+
<OverAllocated>0</OverAllocated>
|
167
|
+
<Estimated>0</Estimated>
|
168
|
+
<Milestone>0</Milestone>
|
169
|
+
<Summary>0</Summary>
|
170
|
+
<Critical>1</Critical>
|
171
|
+
<IsSubproject>0</IsSubproject>
|
172
|
+
<IsSubprojectReadOnly>0</IsSubprojectReadOnly>
|
173
|
+
<ExternalTask>0</ExternalTask>
|
174
|
+
<EarlyStart>2000-09-10T08:00:00</EarlyStart>
|
175
|
+
<EarlyFinish>2000-09-10T08:00:00</EarlyFinish>
|
176
|
+
<LateStart>2000-09-10T08:00:00</LateStart>
|
177
|
+
<LateFinish>2000-09-10T08:00:00</LateFinish>
|
178
|
+
<StartVariance>0</StartVariance>
|
179
|
+
<FinishVariance>0</FinishVariance>
|
180
|
+
<WorkVariance>0</WorkVariance>
|
181
|
+
<FreeSlack>0</FreeSlack>
|
182
|
+
<TotalSlack>0</TotalSlack>
|
183
|
+
<StartSlack>0</StartSlack>
|
184
|
+
<FinishSlack>0</FinishSlack>
|
185
|
+
<FixedCost>0</FixedCost>
|
186
|
+
<FixedCostAccrual>3</FixedCostAccrual>
|
187
|
+
<PercentComplete>0</PercentComplete>
|
188
|
+
<PercentWorkComplete>0</PercentWorkComplete>
|
189
|
+
<Cost>0</Cost>
|
190
|
+
<OvertimeCost>0</OvertimeCost>
|
191
|
+
<OvertimeWork>PT0H0M0S</OvertimeWork>
|
192
|
+
<ActualDuration>PT0H0M0S</ActualDuration>
|
193
|
+
<ActualCost>0</ActualCost>
|
194
|
+
<ActualOvertimeCost>0</ActualOvertimeCost>
|
195
|
+
<ActualWork>PT0H0M0S</ActualWork>
|
196
|
+
<ActualOvertimeWork>PT0H0M0S</ActualOvertimeWork>
|
197
|
+
<RegularWork>PT0H0M0S</RegularWork>
|
198
|
+
<RemainingDuration>PT0H0M0S</RemainingDuration>
|
199
|
+
<RemainingCost>0</RemainingCost>
|
200
|
+
<RemainingWork>PT0H0M0S</RemainingWork>
|
201
|
+
<RemainingOvertimeCost>0</RemainingOvertimeCost>
|
202
|
+
<RemainingOvertimeWork>PT0H0M0S</RemainingOvertimeWork>
|
203
|
+
<ACWP>0</ACWP>
|
204
|
+
<CV>0</CV>
|
205
|
+
<ConstraintType>0</ConstraintType>
|
206
|
+
<CalendarUID>-1</CalendarUID>
|
207
|
+
<LevelAssignments>1</LevelAssignments>
|
208
|
+
<LevelingCanSplit>1</LevelingCanSplit>
|
209
|
+
<LevelingDelay>0</LevelingDelay>
|
210
|
+
<LevelingDelayFormat>8</LevelingDelayFormat>
|
211
|
+
<IgnoreResourceCalendar>0</IgnoreResourceCalendar>
|
212
|
+
<HideBar>0</HideBar>
|
213
|
+
<Rollup>0</Rollup>
|
214
|
+
<BCWS>0</BCWS>
|
215
|
+
<BCWP>0</BCWP>
|
216
|
+
<PhysicalPercentComplete>0</PhysicalPercentComplete>
|
217
|
+
<EarnedValueMethod>0</EarnedValueMethod>
|
218
|
+
<IsPublished>0</IsPublished>
|
219
|
+
<CommitmentType>0</CommitmentType>
|
220
|
+
</Task>
|
221
|
+
</Tasks>
|
222
|
+
<Resources>
|
223
|
+
<Resource>
|
224
|
+
<UID>0</UID>
|
225
|
+
<ID>0</ID>
|
226
|
+
<Type>1</Type>
|
227
|
+
<IsNull>0</IsNull>
|
228
|
+
<WorkGroup>0</WorkGroup>
|
229
|
+
<MaxUnits>1</MaxUnits>
|
230
|
+
<PeakUnits>0</PeakUnits>
|
231
|
+
<OverAllocated>0</OverAllocated>
|
232
|
+
<CanLevel>1</CanLevel>
|
233
|
+
<AccrueAt>3</AccrueAt>
|
234
|
+
<Work>PT0H0M0S</Work>
|
235
|
+
<RegularWork>PT0H0M0S</RegularWork>
|
236
|
+
<OvertimeWork>PT0H0M0S</OvertimeWork>
|
237
|
+
<ActualWork>PT0H0M0S</ActualWork>
|
238
|
+
<RemainingWork>PT0H0M0S</RemainingWork>
|
239
|
+
<ActualOvertimeWork>PT0H0M0S</ActualOvertimeWork>
|
240
|
+
<RemainingOvertimeWork>PT0H0M0S</RemainingOvertimeWork>
|
241
|
+
<PercentWorkComplete>0</PercentWorkComplete>
|
242
|
+
<StandardRate>0</StandardRate>
|
243
|
+
<StandardRateFormat>2</StandardRateFormat>
|
244
|
+
<Cost>0</Cost>
|
245
|
+
<OvertimeRate>0</OvertimeRate>
|
246
|
+
<OvertimeRateFormat>2</OvertimeRateFormat>
|
247
|
+
<OvertimeCost>0</OvertimeCost>
|
248
|
+
<CostPerUse>0</CostPerUse>
|
249
|
+
<ActualCost>0</ActualCost>
|
250
|
+
<ActualOvertimeCost>0</ActualOvertimeCost>
|
251
|
+
<RemainingCost>0</RemainingCost>
|
252
|
+
<RemainingOvertimeCost>0</RemainingOvertimeCost>
|
253
|
+
<WorkVariance>0</WorkVariance>
|
254
|
+
<CostVariance>0</CostVariance>
|
255
|
+
<SV>0</SV>
|
256
|
+
<CV>0</CV>
|
257
|
+
<ACWP>0</ACWP>
|
258
|
+
<BCWS>0</BCWS>
|
259
|
+
<BCWP>0</BCWP>
|
260
|
+
<IsGeneric>0</IsGeneric>
|
261
|
+
<IsInactive>0</IsInactive>
|
262
|
+
<IsEnterprise>0</IsEnterprise>
|
263
|
+
<BookingType>0</BookingType>
|
264
|
+
<CreationDate>2000-09-10T23:20:53</CreationDate>
|
265
|
+
<IsBudget>0</IsBudget>
|
266
|
+
</Resource>
|
267
|
+
<Resource>
|
268
|
+
<UID>1</UID>
|
269
|
+
<ID>1</ID>
|
270
|
+
<Name>Resource 1</Name>
|
271
|
+
<Type>0</Type>
|
272
|
+
<IsNull>0</IsNull>
|
273
|
+
<Initials>R</Initials>
|
274
|
+
<MaterialLabel>TEST LABEL></MaterialLabel>
|
275
|
+
<WorkGroup>0</WorkGroup>
|
276
|
+
<PeakUnits>0</PeakUnits>
|
277
|
+
<OverAllocated>0</OverAllocated>
|
278
|
+
<CanLevel>1</CanLevel>
|
279
|
+
<AccrueAt>1</AccrueAt>
|
280
|
+
<Work>PT0H0M0S</Work>
|
281
|
+
<RegularWork>PT0H0M0S</RegularWork>
|
282
|
+
<OvertimeWork>PT0H0M0S</OvertimeWork>
|
283
|
+
<ActualWork>PT0H0M0S</ActualWork>
|
284
|
+
<RemainingWork>PT0H0M0S</RemainingWork>
|
285
|
+
<ActualOvertimeWork>PT0H0M0S</ActualOvertimeWork>
|
286
|
+
<RemainingOvertimeWork>PT0H0M0S</RemainingOvertimeWork>
|
287
|
+
<PercentWorkComplete>0</PercentWorkComplete>
|
288
|
+
<StandardRate>0</StandardRate>
|
289
|
+
<StandardRateFormat>2</StandardRateFormat>
|
290
|
+
<Cost>0</Cost>
|
291
|
+
<OvertimeRateFormat>2</OvertimeRateFormat>
|
292
|
+
<CostPerUse>0</CostPerUse>
|
293
|
+
<ActualCost>0</ActualCost>
|
294
|
+
<RemainingCost>0</RemainingCost>
|
295
|
+
<WorkVariance>0</WorkVariance>
|
296
|
+
<CostVariance>0</CostVariance>
|
297
|
+
<SV>0</SV>
|
298
|
+
<CV>0</CV>
|
299
|
+
<ACWP>0</ACWP>
|
300
|
+
<CalendarUID>0</CalendarUID>
|
301
|
+
<BCWS>0</BCWS>
|
302
|
+
<BCWP>0</BCWP>
|
303
|
+
<IsGeneric>1</IsGeneric>
|
304
|
+
<IsInactive>0</IsInactive>
|
305
|
+
<IsEnterprise>0</IsEnterprise>
|
306
|
+
<BookingType>1</BookingType>
|
307
|
+
<CreationDate>2000-09-10T23:20:53</CreationDate>
|
308
|
+
<IsCostResource>0</IsCostResource>
|
309
|
+
<IsBudget>0</IsBudget>
|
310
|
+
<ExtendedAttribute>
|
311
|
+
<FieldID>205520904</FieldID>
|
312
|
+
<Value>TEXT VALUE 1</Value>
|
313
|
+
</ExtendedAttribute>
|
314
|
+
<ExtendedAttribute>
|
315
|
+
<FieldID>205521021</FieldID>
|
316
|
+
<Value>12345.6</Value>
|
317
|
+
</ExtendedAttribute>
|
318
|
+
<ExtendedAttribute>
|
319
|
+
<FieldID>205520998</FieldID>
|
320
|
+
<Value>Tue Dec 17 05:00:00 PKT 2013</Value>
|
321
|
+
</ExtendedAttribute>
|
322
|
+
<ExtendedAttribute>
|
323
|
+
<FieldID>205521003</FieldID>
|
324
|
+
<Value>Tue Dec 24 05:00:00 PKT 2013</Value>
|
325
|
+
</ExtendedAttribute>
|
326
|
+
<ExtendedAttribute>
|
327
|
+
<FieldID>205521008</FieldID>
|
328
|
+
<Value>321</Value>
|
329
|
+
</ExtendedAttribute>
|
330
|
+
<ExtendedAttribute>
|
331
|
+
<FieldID>205521069</FieldID>
|
332
|
+
<Value>Mon Dec 09 05:00:00 PKT 2013</Value>
|
333
|
+
</ExtendedAttribute>
|
334
|
+
<ExtendedAttribute>
|
335
|
+
<FieldID>205521013</FieldID>
|
336
|
+
<Value>1800</Value>
|
337
|
+
</ExtendedAttribute>
|
338
|
+
<ExtendedAttribute>
|
339
|
+
<FieldID>205521023</FieldID>
|
340
|
+
<Value>1</Value>
|
341
|
+
</ExtendedAttribute>
|
342
|
+
</Resource>
|
343
|
+
</Resources>
|
344
|
+
<Assignments />
|
345
|
+
</Project>
|
Binary file
|
Binary file
|
data/test/tasks_tests.rb
ADDED
@@ -0,0 +1,430 @@
|
|
1
|
+
require "minitest/autorun"
|
2
|
+
require "minitest/unit"
|
3
|
+
|
4
|
+
require_relative '../lib/aspose_tasks_cloud'
|
5
|
+
|
6
|
+
class TasksTests < Minitest::Test
|
7
|
+
include MiniTest::Assertions
|
8
|
+
include AsposeTasksCloud
|
9
|
+
include AsposeStorageCloud
|
10
|
+
|
11
|
+
def setup
|
12
|
+
#Get App key and App SID from https://cloud.aspose.com
|
13
|
+
AsposeApp.app_key_and_sid("", "")
|
14
|
+
@tasks_api = TasksApi.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
end
|
19
|
+
|
20
|
+
def upload_file(file_name)
|
21
|
+
@storage_api = StorageApi.new
|
22
|
+
response = @storage_api.put_create(file_name, File.open("data/" << file_name,"r") { |io| io.read } )
|
23
|
+
|
24
|
+
assert(response, message="Failed to upload {file_name} file.")
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_get_task_document
|
28
|
+
file_name = "sample-project-2.mpp"
|
29
|
+
upload_file(file_name)
|
30
|
+
|
31
|
+
response = @tasks_api.get_task_document(file_name)
|
32
|
+
assert(response, message="Failed to represents a project document.")
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_get_task_document_with_format
|
36
|
+
file_name = "sample-project.mpp"
|
37
|
+
upload_file(file_name)
|
38
|
+
format = "pdf"
|
39
|
+
|
40
|
+
response = @tasks_api.get_task_document_with_format(file_name, format)
|
41
|
+
assert(response, message="Failed to get a project document in specified format.")
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_get_project_assignments
|
45
|
+
file_name = "sample-project-2.mpp"
|
46
|
+
upload_file(file_name)
|
47
|
+
|
48
|
+
response = @tasks_api.get_project_assignments(file_name)
|
49
|
+
assert(response, message="Failed to read project assignment items.")
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_post_project_assignment
|
53
|
+
file_name = "sample-project.mpp"
|
54
|
+
upload_file(file_name)
|
55
|
+
task_uid = 1
|
56
|
+
resource_uid = 1
|
57
|
+
|
58
|
+
response = @tasks_api.post_project_assignment(file_name, task_uid, resource_uid)
|
59
|
+
assert(response, message="Failed to add a new assignment to a project")
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_get_project_assignment
|
63
|
+
file_name = "sample-project-2.mpp"
|
64
|
+
upload_file(file_name)
|
65
|
+
assignment_uid = 1
|
66
|
+
|
67
|
+
response = @tasks_api.get_project_assignment(file_name, assignment_uid)
|
68
|
+
assert(response, message="Failed to read project assignment.")
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_delete_project_assignment
|
72
|
+
file_name = "sample-project-2.mpp"
|
73
|
+
upload_file(file_name)
|
74
|
+
assignment_uid = 1
|
75
|
+
|
76
|
+
response = @tasks_api.delete_project_assignment(file_name, assignment_uid)
|
77
|
+
assert(response, message="Failed to deletes a project assignment with all references to it.")
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_get_project_calendars
|
81
|
+
file_name = "sample-project.mpp"
|
82
|
+
upload_file(file_name)
|
83
|
+
|
84
|
+
response = @tasks_api.get_project_calendars(file_name)
|
85
|
+
assert(response, message="Failed to read project calendar items.")
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_post_project_calendar
|
89
|
+
file_name = "sample-project.mpp"
|
90
|
+
upload_file(file_name)
|
91
|
+
calendar = Calendar.new
|
92
|
+
calendar.name = "TestCalender"
|
93
|
+
calendar.uid = 0
|
94
|
+
|
95
|
+
response = @tasks_api.post_project_calendar(file_name, calendar)
|
96
|
+
assert(response, message="Failed to add a new calendar to project file.")
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_get_project_calendar
|
100
|
+
file_name = "sample-project.mpp"
|
101
|
+
upload_file(file_name)
|
102
|
+
calendar_uid = 1
|
103
|
+
|
104
|
+
response = @tasks_api.get_project_calendar(file_name, calendar_uid)
|
105
|
+
assert(response, message="Failed to represents a project calendar.")
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_delete_project_calendar
|
109
|
+
file_name = "sample-project.mpp"
|
110
|
+
upload_file(file_name)
|
111
|
+
calendar_uid = 2
|
112
|
+
|
113
|
+
response = @tasks_api.delete_project_calendar(file_name, calendar_uid)
|
114
|
+
assert(response, message="Failed to deletes a project calendar")
|
115
|
+
end
|
116
|
+
|
117
|
+
def test_get_calendar_exceptions
|
118
|
+
file_name = "sample-project.mpp"
|
119
|
+
upload_file(file_name)
|
120
|
+
calendar_uid = 1
|
121
|
+
|
122
|
+
response = @tasks_api.get_calendar_exceptions(file_name, calendar_uid)
|
123
|
+
assert(response, message="Failed to get list of calendar exceptions.")
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_post_calendar_exceptions
|
127
|
+
file_name = "sample-project-2.mpp"
|
128
|
+
upload_file(file_name)
|
129
|
+
calendar_uid = 1
|
130
|
+
calendar_exception = CalendarException.new
|
131
|
+
calendar_exception.name = "Test"
|
132
|
+
calendar_exception.from_date = Time.utc(2016, 01, 28).to_s
|
133
|
+
calendar_exception.to_date = Time.utc(2016, 01, 30).to_s
|
134
|
+
|
135
|
+
response = @tasks_api.post_calendar_exceptions(file_name, calendar_uid, calendar_exception)
|
136
|
+
assert(response, message="Failed to add a new calendar exception to a calendar.")
|
137
|
+
end
|
138
|
+
|
139
|
+
def test_put_calendar_exception
|
140
|
+
file_name = "sample-project.mpp"
|
141
|
+
upload_file(file_name)
|
142
|
+
calendar_uid = 1
|
143
|
+
index = 1
|
144
|
+
calendar_exception = CalendarException.new
|
145
|
+
calendar_exception.name = "Test"
|
146
|
+
calendar_exception.from_date = Time.utc(2016, 01, 28).to_s
|
147
|
+
calendar_exception.to_date = Time.utc(2016, 01, 30).to_s
|
148
|
+
|
149
|
+
response = @tasks_api.put_calendar_exception(file_name, calendar_uid, index, calendar_exception)
|
150
|
+
assert(response, message="Failed to updates calendar exception.")
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_delete_calendar_exception
|
154
|
+
file_name = "sample-project.mpp"
|
155
|
+
upload_file(file_name)
|
156
|
+
calendar_uid = 1
|
157
|
+
index = 1
|
158
|
+
|
159
|
+
response = @tasks_api.delete_calendar_exception(file_name, calendar_uid, index)
|
160
|
+
assert(response, message="Failed to deletes calendar exception from calendar exceptions collection.")
|
161
|
+
end
|
162
|
+
|
163
|
+
def test_get_critical_path
|
164
|
+
file_name = "sample-project.mpp"
|
165
|
+
upload_file(file_name)
|
166
|
+
|
167
|
+
response = @tasks_api.get_critical_path(file_name)
|
168
|
+
assert(response, message="Failed to returns created report in PDF format.")
|
169
|
+
end
|
170
|
+
|
171
|
+
def test_get_document_properties
|
172
|
+
file_name = "sample-project.mpp"
|
173
|
+
upload_file(file_name)
|
174
|
+
|
175
|
+
response = @tasks_api.get_document_properties(file_name)
|
176
|
+
assert(response, message="Failed to read document properties.")
|
177
|
+
end
|
178
|
+
|
179
|
+
def test_get_document_property
|
180
|
+
file_name = "sample-project.mpp"
|
181
|
+
upload_file(file_name)
|
182
|
+
property_name = "Title"
|
183
|
+
|
184
|
+
response = @tasks_api.get_document_property(file_name, property_name)
|
185
|
+
assert(response, message="Failed to read document property by name.")
|
186
|
+
end
|
187
|
+
|
188
|
+
def test_put_document_property
|
189
|
+
file_name = "sample-project-2.mpp"
|
190
|
+
upload_file(file_name)
|
191
|
+
property_name = "Title"
|
192
|
+
document_property = DocumentProperty.new
|
193
|
+
document_property.name = property_name
|
194
|
+
document_property.value = "New Title"
|
195
|
+
|
196
|
+
response = @tasks_api.put_document_property(file_name, property_name, document_property)
|
197
|
+
assert(response, message="Failed to set/create document property.")
|
198
|
+
end
|
199
|
+
|
200
|
+
def test_post_document_property
|
201
|
+
file_name = "sample-project-2.mpp"
|
202
|
+
upload_file(file_name)
|
203
|
+
property_name = "Title"
|
204
|
+
document_property = DocumentProperty.new
|
205
|
+
document_property.name = property_name
|
206
|
+
document_property.value = "New Title"
|
207
|
+
|
208
|
+
response = @tasks_api.post_document_property(file_name, property_name, document_property)
|
209
|
+
assert(response, message="Failed to set/create document property")
|
210
|
+
end
|
211
|
+
|
212
|
+
def test_get_extended_attributes
|
213
|
+
file_name = "ExtendedAttribute.mpp"
|
214
|
+
upload_file(file_name)
|
215
|
+
|
216
|
+
response = @tasks_api.get_extended_attributes(file_name)
|
217
|
+
assert(response, message="Failed to represents a project document.")
|
218
|
+
end
|
219
|
+
|
220
|
+
def test_get_extended_attribute_by_index
|
221
|
+
file_name = "ExtendedAttribute.mpp"
|
222
|
+
upload_file(file_name)
|
223
|
+
index = 1
|
224
|
+
|
225
|
+
response = @tasks_api.get_extended_attribute_by_index(file_name, index)
|
226
|
+
assert(response, message="Failed to represent a project extended attribute definition.")
|
227
|
+
end
|
228
|
+
|
229
|
+
def test_delete_extended_attribute_by_index
|
230
|
+
file_name = "ExtendedAttribute.mpp"
|
231
|
+
upload_file(file_name)
|
232
|
+
index = 1
|
233
|
+
|
234
|
+
response = @tasks_api.delete_extended_attribute_by_index(file_name, index)
|
235
|
+
assert(response, message="Failed to delete a project extended attribute.")
|
236
|
+
end
|
237
|
+
|
238
|
+
def test_get_outline_codes
|
239
|
+
file_name = "Outlinecode.mpp"
|
240
|
+
upload_file(file_name)
|
241
|
+
|
242
|
+
response = @tasks_api.get_outline_codes(file_name)
|
243
|
+
assert(response, message="Failed to read outline codes.")
|
244
|
+
end
|
245
|
+
|
246
|
+
def test_get_outline_code_by_index
|
247
|
+
file_name = "Outlinecode.mpp"
|
248
|
+
upload_file(file_name)
|
249
|
+
index = 1
|
250
|
+
|
251
|
+
response = @tasks_api.get_outline_code_by_index(file_name, index)
|
252
|
+
assert(response, message="Failed to get outline code by index.")
|
253
|
+
end
|
254
|
+
|
255
|
+
def test_delete_outline_code_by_index
|
256
|
+
file_name = "Outlinecode.mpp"
|
257
|
+
upload_file(file_name)
|
258
|
+
index = 1
|
259
|
+
|
260
|
+
response = @tasks_api.delete_outline_code_by_index(file_name, index)
|
261
|
+
assert(response, message="Failed to deletes a project outline code")
|
262
|
+
end
|
263
|
+
|
264
|
+
def test_get_report_pdf
|
265
|
+
file_name = "sample-project.mpp"
|
266
|
+
upload_file(file_name)
|
267
|
+
type = "WorkOverview"
|
268
|
+
|
269
|
+
response = @tasks_api.get_report_pdf(file_name, type)
|
270
|
+
assert(response, message="Failed to return created report in PDF format.")
|
271
|
+
end
|
272
|
+
|
273
|
+
def test_get_project_resources
|
274
|
+
file_name = "sample-project.mpp"
|
275
|
+
upload_file(file_name)
|
276
|
+
|
277
|
+
response = @tasks_api.get_project_resources(file_name)
|
278
|
+
assert(response, message="Failed to read project resources.")
|
279
|
+
end
|
280
|
+
|
281
|
+
def test_post_project_resource
|
282
|
+
file_name = "sample-project.mpp"
|
283
|
+
upload_file(file_name)
|
284
|
+
opts = {resource_name: "Resource6", before_resource_id: 1}
|
285
|
+
|
286
|
+
response = @tasks_api.post_project_resource(file_name, opts)
|
287
|
+
assert(response, message="Failed to add a new resource to a project.")
|
288
|
+
end
|
289
|
+
|
290
|
+
def test_get_project_resource
|
291
|
+
file_name = "sample-project.mpp"
|
292
|
+
upload_file(file_name)
|
293
|
+
resource_uid = 1
|
294
|
+
|
295
|
+
response = @tasks_api.get_project_resource(file_name, resource_uid)
|
296
|
+
assert(response, message="Failed to get project resource.")
|
297
|
+
end
|
298
|
+
|
299
|
+
def test_delete_project_resource
|
300
|
+
file_name = "sample-project.mpp"
|
301
|
+
upload_file(file_name)
|
302
|
+
resource_uid = 1
|
303
|
+
|
304
|
+
response = @tasks_api.delete_project_resource(file_name, resource_uid)
|
305
|
+
assert(response, message="Failed to deletes a project resource with all references to it.")
|
306
|
+
end
|
307
|
+
|
308
|
+
def test_get_resource_assignments
|
309
|
+
file_name = "sample-project.mpp"
|
310
|
+
upload_file(file_name)
|
311
|
+
resource_uid = 1
|
312
|
+
|
313
|
+
response = @tasks_api.get_resource_assignments(file_name, resource_uid)
|
314
|
+
assert(response, message="Failed to get resource assignments.")
|
315
|
+
end
|
316
|
+
|
317
|
+
def test_get_task_links
|
318
|
+
file_name = "sample-project-2.mpp"
|
319
|
+
upload_file(file_name)
|
320
|
+
|
321
|
+
response = @tasks_api.get_task_links(file_name)
|
322
|
+
assert(response, message="Failed to read task links.")
|
323
|
+
end
|
324
|
+
|
325
|
+
def test_post_task_link
|
326
|
+
file_name = "sample-project-2.mpp"
|
327
|
+
upload_file(file_name)
|
328
|
+
task_link = TaskLink.new
|
329
|
+
task_link.index = 2
|
330
|
+
task_link.predecessor_uid = 1
|
331
|
+
task_link.successor_uid = 2
|
332
|
+
|
333
|
+
response = @tasks_api.post_task_link(file_name, task_link)
|
334
|
+
assert(response, message="Failed to add a new task link to a project.")
|
335
|
+
end
|
336
|
+
|
337
|
+
def test_put_task_link
|
338
|
+
file_name = "sample-project.mpp"
|
339
|
+
upload_file(file_name)
|
340
|
+
index = 1
|
341
|
+
task_link = TaskLink.new
|
342
|
+
task_link.index = index
|
343
|
+
task_link.predecessor_uid = 0
|
344
|
+
task_link.successor_uid = 1
|
345
|
+
|
346
|
+
response = @tasks_api.put_task_link(file_name, index, task_link)
|
347
|
+
assert(response, message="Failed to updates task link.")
|
348
|
+
end
|
349
|
+
|
350
|
+
def test_delete_task_link
|
351
|
+
file_name = "sample-project.mpp"
|
352
|
+
upload_file(file_name)
|
353
|
+
index = 1
|
354
|
+
|
355
|
+
response = @tasks_api.delete_task_link(file_name, index)
|
356
|
+
assert(response, message="Failed to updates task link.")
|
357
|
+
end
|
358
|
+
|
359
|
+
def test_get_project_tasks
|
360
|
+
file_name = "sample-project.mpp"
|
361
|
+
upload_file(file_name)
|
362
|
+
|
363
|
+
response = @tasks_api.get_project_tasks(file_name)
|
364
|
+
assert(response, message="Failed to read project task items.")
|
365
|
+
end
|
366
|
+
|
367
|
+
def test_post_project_task
|
368
|
+
file_name = "sample-project.mpp"
|
369
|
+
upload_file(file_name)
|
370
|
+
opts = {task_name: "NewTask", before_task_id: 1}
|
371
|
+
|
372
|
+
response = @tasks_api.post_project_task(file_name, opts)
|
373
|
+
assert(response, message="Failed to add a new task to a project.")
|
374
|
+
end
|
375
|
+
|
376
|
+
def test_get_project_task
|
377
|
+
file_name = "sample-project-2.mpp"
|
378
|
+
upload_file(file_name)
|
379
|
+
task_uid = 1
|
380
|
+
|
381
|
+
response = @tasks_api.get_project_task(file_name, task_uid)
|
382
|
+
assert(response, message="Failed to read project task.")
|
383
|
+
end
|
384
|
+
|
385
|
+
def test_delete_project_task
|
386
|
+
file_name = "sample-project.mpp"
|
387
|
+
upload_file(file_name)
|
388
|
+
task_uid = 1
|
389
|
+
|
390
|
+
response = @tasks_api.delete_project_task(file_name, task_uid)
|
391
|
+
assert(response, message="Failed to delete a project task with all references to it and rebuilds tasks tree.")
|
392
|
+
end
|
393
|
+
|
394
|
+
def test_get_task_assignments
|
395
|
+
file_name = "sample-project-2.mpp"
|
396
|
+
upload_file(file_name)
|
397
|
+
task_uid = 1
|
398
|
+
|
399
|
+
response = @tasks_api.get_task_assignments(file_name, task_uid)
|
400
|
+
assert(response, message="Failed to get task assignments.")
|
401
|
+
end
|
402
|
+
|
403
|
+
def test_put_move_task
|
404
|
+
file_name = "sample-project.mpp"
|
405
|
+
upload_file(file_name)
|
406
|
+
task_uid = 1
|
407
|
+
parent_task_uid = 1
|
408
|
+
|
409
|
+
response = @tasks_api.put_move_task(file_name, task_uid, parent_task_uid)
|
410
|
+
assert(response, message="Failed to move one task to another parent task")
|
411
|
+
end
|
412
|
+
|
413
|
+
def test_get_task_recurring_info
|
414
|
+
file_name = "sample-project.mpp"
|
415
|
+
upload_file(file_name)
|
416
|
+
task_uid = 1
|
417
|
+
|
418
|
+
response = @tasks_api.get_task_recurring_info(file_name, task_uid)
|
419
|
+
assert(response, message="Failed to get recurring info for the task.")
|
420
|
+
end
|
421
|
+
|
422
|
+
def test_get_project_wbs_definition
|
423
|
+
file_name = "sample-project.mpp"
|
424
|
+
upload_file(file_name)
|
425
|
+
|
426
|
+
response = @tasks_api.get_project_wbs_definition(file_name)
|
427
|
+
assert(response, message="Failed to get project WBS Definition.")
|
428
|
+
end
|
429
|
+
|
430
|
+
end
|