|  | 
| 32 | 32 | using System.Linq; | 
| 33 | 33 | using System.Net; | 
| 34 | 34 | using Task = System.Threading.Tasks.Task; | 
|  | 35 | +using TD = Aspose.Tasks.Cloud.Sdk.Model.TimephasedData; | 
| 35 | 36 | 
 | 
| 36 | 37 | namespace Aspose.Tasks.Cloud.Sdk.Tests.Tasks | 
| 37 | 38 | { | 
| @@ -208,6 +209,90 @@ public async Task TestEditAssignment() | 
| 208 | 209 |             Assert.IsTrue(getResponse.Assignments.AssignmentItem.Any(a => a.TaskUid == 0 && a.ResourceUid == 1 && a.Uid == 63)); | 
| 209 | 210 |         } | 
| 210 | 211 | 
 | 
|  | 212 | +        [Test] | 
|  | 213 | +        public async Task TestEditAssignmentWithTimephasedDataAndBaselines() | 
|  | 214 | +        { | 
|  | 215 | +            var remoteName = await UploadFileToStorageAsync("sample.mpp"); | 
|  | 216 | + | 
|  | 217 | +            var response = await TasksApi.GetAssignmentAsync(new GetAssignmentRequest | 
|  | 218 | +            { | 
|  | 219 | +                AssignmentUid = 1, | 
|  | 220 | +                Name = remoteName, | 
|  | 221 | +                Folder = this.DataFolder | 
|  | 222 | +            }); | 
|  | 223 | + | 
|  | 224 | +            Assert.AreEqual((int)HttpStatusCode.OK, response.Code); | 
|  | 225 | +            Assert.IsNotNull(response.Assignment); | 
|  | 226 | + | 
|  | 227 | +            var assignment = response.Assignment; | 
|  | 228 | +            assignment.Cost = 100; | 
|  | 229 | +            assignment.Start = new DateTime(2001, 10, 10); | 
|  | 230 | +            assignment.Finish = new DateTime(2002, 10, 10); | 
|  | 231 | +            assignment.ActualWork = new TimeSpan(10, 10, 10); | 
|  | 232 | +            assignment.ActualCost = 100; | 
|  | 233 | +            assignment.ActualStart = new DateTime(2001, 10, 11); | 
|  | 234 | +            assignment.ActualFinish = new DateTime(2002, 10, 11); | 
|  | 235 | +            assignment.ActualOvertimeWork = new TimeSpan(100, 10, 0); | 
|  | 236 | +            assignment.Work = new TimeSpan(80, 0, 0); | 
|  | 237 | +            assignment.Uid = 1; | 
|  | 238 | +            assignment.Vac = 10; | 
|  | 239 | +            assignment.WorkContour = WorkContourType.Contoured; | 
|  | 240 | +            assignment.TimephasedData.Clear(); | 
|  | 241 | +            assignment.TimephasedData.Add(new TD | 
|  | 242 | +            { | 
|  | 243 | +                Uid = assignment.Uid, | 
|  | 244 | +                Start = new DateTime(2001, 10, 10, 9, 0, 0, 0), | 
|  | 245 | +                Finish = new DateTime(2001, 10, 10, 14, 0, 0, 0), | 
|  | 246 | +                Unit = TimeUnitType.Hour, | 
|  | 247 | +                Value = TimeSpan.FromHours(4).ToString(), | 
|  | 248 | +                TimephasedDataType = TimephasedDataType.AssignmentRemainingWork | 
|  | 249 | +            }); | 
|  | 250 | +            assignment.Baselines.Add(new AssignmentBaseline | 
|  | 251 | +            { | 
|  | 252 | +                BaselineNumber = BaselineType.Baseline1, | 
|  | 253 | +                Start = new DateTime(2002, 10, 10) | 
|  | 254 | +            }); | 
|  | 255 | + | 
|  | 256 | +            var putResponse = await TasksApi.PutAssignmentAsync(new PutAssignmentRequest | 
|  | 257 | +            { | 
|  | 258 | +                Mode = CalculationMode.None, | 
|  | 259 | +                Recalculate = false, | 
|  | 260 | +                AssignmentUid = assignment.Uid, | 
|  | 261 | +                Assignment = assignment, | 
|  | 262 | +                Name = remoteName, | 
|  | 263 | +                Folder = this.DataFolder | 
|  | 264 | +            }); | 
|  | 265 | + | 
|  | 266 | +            Assert.AreEqual(HttpStatusCode.OK.ToString(), putResponse.Status); | 
|  | 267 | +            Assert.IsNotNull(putResponse.Assignment); | 
|  | 268 | +            var assignmentAfterUpdate = putResponse.Assignment; | 
|  | 269 | +            var baselinesAfterUpdate = assignmentAfterUpdate.Baselines; | 
|  | 270 | +            Assert.AreEqual(1, baselinesAfterUpdate.Count); | 
|  | 271 | +            Assert.AreEqual(BaselineType.Baseline1, baselinesAfterUpdate[0].BaselineNumber); | 
|  | 272 | +            Assert.AreEqual(assignment.Baselines[0].Start, baselinesAfterUpdate[0].Start); | 
|  | 273 | + | 
|  | 274 | +            var timephasedDataAfterUpdate = assignmentAfterUpdate.TimephasedData; | 
|  | 275 | +            var td = timephasedDataAfterUpdate[0]; | 
|  | 276 | +            Assert.AreEqual(1, timephasedDataAfterUpdate.Count); | 
|  | 277 | +            Assert.AreEqual(assignment.TimephasedData[0].Uid, td.Uid); | 
|  | 278 | +            Assert.AreEqual(assignment.TimephasedData[0].Start, td.Start); | 
|  | 279 | +            Assert.AreEqual(assignment.TimephasedData[0].Finish, td.Finish); | 
|  | 280 | +            Assert.AreEqual(assignment.TimephasedData[0].Unit, td.Unit); | 
|  | 281 | +            Assert.AreEqual("PT4H0M0S", td.Value.ToString()); | 
|  | 282 | +            Assert.AreEqual(assignment.TimephasedData[0].TimephasedDataType, td.TimephasedDataType); | 
|  | 283 | + | 
|  | 284 | +            Assert.AreEqual(assignment.Cost, assignmentAfterUpdate.Cost); | 
|  | 285 | +            Assert.AreEqual(assignment.Start, assignmentAfterUpdate.Start); | 
|  | 286 | +            Assert.AreEqual(assignment.Finish, assignmentAfterUpdate.Finish); | 
|  | 287 | +            Assert.AreEqual(assignment.Work, assignmentAfterUpdate.Work); | 
|  | 288 | +            Assert.AreEqual(assignment.ActualWork, assignmentAfterUpdate.ActualWork); | 
|  | 289 | +            Assert.AreEqual(assignment.ActualStart, assignmentAfterUpdate.ActualStart); | 
|  | 290 | +            Assert.AreEqual(assignment.ActualFinish, assignmentAfterUpdate.ActualFinish); | 
|  | 291 | +            Assert.AreEqual(assignment.ActualOvertimeWork, assignmentAfterUpdate.ActualOvertimeWork); | 
|  | 292 | +            Assert.AreEqual(assignment.Vac, assignmentAfterUpdate.Vac); | 
|  | 293 | +            Assert.AreEqual(assignment.Uid, assignmentAfterUpdate.Uid); | 
|  | 294 | +        } | 
|  | 295 | + | 
| 211 | 296 |         [Test] | 
| 212 | 297 |         public async Task TestDeleteAssignment() | 
| 213 | 298 |         { | 
|  | 
0 commit comments