public async Task TestDeleteResource()
        {
            var remoteName = await UploadFileToStorageAsync("Plan with resource.mpp");

            var resourceResponse = await TasksApi.GetResourcesAsync(new GetResourcesRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });

            var resourceCountBeforeDelete = resourceResponse.Resources.ResourceItem.Count;

            var deleteResponse = await TasksApi.DeleteResourceAsync(new DeleteResourceRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                ResourceUid = 1
            });

            Assert.AreEqual((int)HttpStatusCode.OK, deleteResponse.Code);

            resourceResponse = await TasksApi.GetResourcesAsync(new GetResourcesRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, resourceResponse.Code);
            Assert.Greater(resourceCountBeforeDelete, resourceResponse.Resources.ResourceItem.Count);
        }
        public void run()
        {
            var configuration = new Configuration {
                AppKey = BaseContext.AppKey, AppSid = BaseContext.AppSid
            };
            TasksApi api = new TasksApi(configuration);

            RecurringInfo recurringInfo = new RecurringInfo
            {
                RecurrencePattern = RecurrencePattern.Weekly,
                Occurrences       = 4,
                WeeklyRepetitions = 3,
                WeeklyDays        = WeekDayType.Thursday | WeekDayType.Wednesday,
                StartDate         = new DateTime(2018, 1, 1),
                EndDate           = new DateTime(2018, 12, 31),
                UseEndDate        = true
            };

            var response = api.PostTaskRecurringInfo(new PostTaskRecurringInfoRequest
            {
                Name          = "sample.mpp",
                Storage       = "Tasks",
                Folder        = "",
                ParentTaskUid = 0,
                RecurringInfo = recurringInfo,
                TaskName      = "New recurring task",
                CalendarName  = "Standard"
            });

            Console.WriteLine(response.Code);
        }
        public async Task TestDeleteCalendarException()
        {
            var remoteName = await UploadFileToStorageAsync("Calenar with exception.mpp");

            var response = await TasksApi.DeleteCalendarExceptionAsync(new DeleteCalendarExceptionRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                CalendarUid = 1,
                Index       = 1
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);

            var getResponse = await TasksApi.GetCalendarExceptionsAsync(new GetCalendarExceptionsRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                CalendarUid = 1
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getResponse.Code);
            Assert.IsNotNull(getResponse.CalendarExceptions);
            Assert.AreEqual(0, getResponse.CalendarExceptions.Count);
        }
        public void TestPutProjectAssignment()
        {
            TasksApi   target     = new TasksApi(APIKEY, APPSID, BASEPATH);
            StorageApi storageApi = new StorageApi(APIKEY, APPSID, BASEPATH);


            string             name          = "Outlinecode.mpp";
            int?               assignmentUid = 1;
            string             mode          = null;
            bool?              recalculate   = null;
            string             storage       = null;
            string             folder        = null;
            string             fileName      = null;
            ResourceAssignment body          = new ResourceAssignment();

            body.TaskUid     = 1;
            body.ResourceUid = -1;
            body.Uid         = 1;

            storageApi.PutCreate(name, null, null, System.IO.File.ReadAllBytes("\\temp\\tasks\\resources\\" + name));
            AssignmentResponse actual;

            actual = target.PutProjectAssignment(name, assignmentUid, mode, recalculate, storage, folder, fileName, body);
            Assert.AreEqual("200", actual.Code);
            Assert.IsInstanceOfType(new AssignmentResponse(), actual.GetType());
        }
Beispiel #5
0
        public TogglApi(ApiConfiguration configuration, HttpClientHandler handler = null)
        {
            Ensure.Argument.IsNotNull(configuration, nameof(configuration));

            var httpHandler = handler ?? new HttpClientHandler {
                AutomaticDecompression = GZip | Deflate
            };
            var httpClient = new HttpClient(httpHandler);

            var userAgent   = configuration.UserAgent;
            var credentials = configuration.Credentials;
            var serializer  = new JsonSerializer();
            var apiClient   = new ApiClient(httpClient, userAgent);
            var endpoints   = new Endpoints(configuration.Environment);

            Status            = new StatusApi(endpoints, apiClient);
            Tags              = new TagsApi(endpoints, apiClient, serializer, credentials);
            User              = new UserApi(endpoints, apiClient, serializer, credentials);
            Tasks             = new TasksApi(endpoints, apiClient, serializer, credentials);
            Clients           = new ClientsApi(endpoints, apiClient, serializer, credentials);
            Projects          = new ProjectsApi(endpoints, apiClient, serializer, credentials);
            Location          = new LocationApi(endpoints, apiClient, serializer, credentials);
            Countries         = new CountriesApi(endpoints, apiClient, serializer, credentials);
            Workspaces        = new WorkspacesApi(endpoints, apiClient, serializer, credentials);
            Preferences       = new PreferencesApi(endpoints, apiClient, serializer, credentials);
            ProjectsSummary   = new ProjectsSummaryApi(endpoints, apiClient, serializer, credentials);
            TimeEntries       = new TimeEntriesApi(endpoints, apiClient, serializer, credentials, userAgent);
            WorkspaceFeatures = new WorkspaceFeaturesApi(endpoints, apiClient, serializer, credentials);
        }
Beispiel #6
0
        public async Task TestAddTask()
        {
            var remoteName = await UploadFileToStorageAsync("Project2016.mpp");

            var postResponse = await TasksApi.PostTaskAsync(new PostTaskRequest
            {
                BeforeTaskId = 4,
                TaskName     = "New task name",
                Name         = remoteName,
                Folder       = this.DataFolder,
                FileName     = remoteName
            });

            Assert.AreEqual((int)HttpStatusCode.Created, postResponse.Code);
            Assert.IsNotNull(postResponse.TaskItem);
            var newTaskUid = postResponse.TaskItem.Uid;

            var tasksResponse = await TasksApi.GetTaskAsync(new GetTaskRequest
            {
                TaskUid = newTaskUid,
                Name    = remoteName,
                Folder  = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, tasksResponse.Code);
            Assert.IsNotNull(tasksResponse.Task);
        }
Beispiel #7
0
        public async Task TestDeleteTask()
        {
            var remoteName = await UploadFileToStorageAsync("Project2016.mpp");

            var deleteResponse = await TasksApi.DeleteTaskAsync(new DeleteTaskRequest
            {
                TaskUid  = 4,
                Name     = remoteName,
                Folder   = this.DataFolder,
                FileName = remoteName
            });

            Assert.AreEqual((int)HttpStatusCode.OK, deleteResponse.Code);

            var tasksResponse = await TasksApi.GetTasksAsync(new GetTasksRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, tasksResponse.Code);
            Assert.IsNotNull(tasksResponse.Tasks);
            Assert.AreEqual(5, tasksResponse.Tasks.TaskItem.Count);

            var firstTask = tasksResponse.Tasks.TaskItem.FirstOrDefault(i => i.Uid == 4);

            Assert.IsNull(firstTask);
        }
Beispiel #8
0
        public async Task TestAddNonExistingDocumentProperty()
        {
            var remoteName = await UploadFileToStorageAsync("Home move plan.mpp");

            var postResponse = await TasksApi.PostDocumentPropertyAsync(new PostDocumentPropertyRequest
            {
                Name         = remoteName,
                Folder       = this.DataFolder,
                PropertyName = "new property",
                Property     = new DocumentProperty
                {
                    Name  = "new property",
                    Value = "New property value"
                }
            });

            var response = await TasksApi.GetDocumentPropertiesAsync(new GetDocumentPropertiesRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);
            Assert.AreEqual(52, response.Properties.List.Count);
            Assert.IsNull(response.Properties.List.Where(p => p.Name == "new property").FirstOrDefault());
        }
Beispiel #9
0
        public async Task TestEditDocumentProperty()
        {
            var remoteName = await UploadFileToStorageAsync("Home move plan.mpp");

            var putResponse = await TasksApi.PutDocumentPropertyAsync(new PutDocumentPropertyRequest
            {
                Name         = remoteName,
                Folder       = this.DataFolder,
                PropertyName = "Title",
                Property     = new DocumentProperty
                {
                    Name  = "Title",
                    Value = "New title value"
                }
            });

            var response = await TasksApi.GetDocumentPropertiesAsync(new GetDocumentPropertiesRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);
            Assert.AreEqual(52, response.Properties.List.Count);
            Assert.AreEqual("Title", response.Properties.List[0].Name);
            Assert.AreEqual("New title value", response.Properties.List[0].Value);
        }
        public void run()
        {
            var configuration = new Configuration {
                AppKey = BaseContext.AppKey, AppSid = BaseContext.AppSid
            };
            TasksApi api = new TasksApi(configuration);

            var response = api.GetAssignment(new GetAssignmentRequest
            {
                AssignmentUid = 63,
                Name          = "NewProductDev.mpp",
                Folder        = ""
            });

            var putResponse = api.PutAssignment(new PutAssignmentRequest
            {
                Mode          = CalculationMode.Automatic,
                Recalculate   = true,
                AssignmentUid = 63,
                Assignment    = response.Assignment,
                Name          = "NewProductDev.mpp",
                Folder        = ""
            });


            Console.WriteLine(response.Code);
        }
Beispiel #11
0
        public async Task TestAddAssignmentWithCost()
        {
            var remoteName = await UploadFileToStorageAsync("Cost_Res.mpp");

            var response = await TasksApi.PostAssignmentAsync(new PostAssignmentRequest
            {
                ResourceUid = 1,
                Cost        = 2,
                TaskUid     = 0,
                Name        = remoteName,
                Folder      = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);
            Assert.IsNotNull(response.AssignmentItem);
            var assignmentUid = response.AssignmentItem.Uid;

            var getResponse = await TasksApi.GetAssignmentAsync(new GetAssignmentRequest
            {
                AssignmentUid = assignmentUid,
                Name          = remoteName,
                Folder        = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getResponse.Code);
            Assert.IsNotNull(getResponse.Assignment);
            Assert.AreEqual(0, getResponse.Assignment.TaskUid);
            Assert.AreEqual(2, getResponse.Assignment.Cost);
        }
Beispiel #12
0
 public ClientApi()
 {
     _commentApi   = new CommentApi();
     _dbUpdatesApi = new DbUpdatesApi();
     _tasksApi     = new TasksApi(_commentApi);
     _usersApi     = new UsersApi();
 }
        public async Task TestEditResource()
        {
            var remoteName = await UploadFileToStorageAsync("sample.mpp");

            var resourceResponse = await TasksApi.GetResourceAsync(new GetResourceRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                ResourceUid = 1
            });

            Assert.AreEqual((int)HttpStatusCode.OK, resourceResponse.Code);
            Assert.IsNotNull(resourceResponse.Resource);

            var resource = resourceResponse.Resource;

            resource.Name         = "Modified Resource1";
            resource.Cost         = 200;
            resource.Start        = new DateTime(2000, 10, 10);
            resource.Work         = new TimeSpan(100, 10, 0);
            resource.Finish       = new DateTime(2000, 10, 10);
            resource.OvertimeWork = new TimeSpan(100, 0, 0);
            resource.StandardRate = 101;
            resource.Baselines.Add(new Model.Baseline
            {
                BaselineNumber = Model.BaselineType.Baseline1,
                Cost           = 44,
            });

            var putResponse = await TasksApi.PutResourceAsync(new PutResourceRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                ResourceUid = 1,
                Resource    = resource,
                Recalculate = false,
                Mode        = Model.CalculationMode.None
            });

            Assert.AreEqual((int)HttpStatusCode.OK, putResponse.Code);

            resourceResponse = await TasksApi.GetResourceAsync(new GetResourceRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                ResourceUid = 1
            });

            var resourceAfterModification = putResponse.Resource;

            Assert.AreEqual(1, resourceAfterModification.Baselines.Count);
            Assert.AreEqual(Model.BaselineType.Baseline1, resourceAfterModification.Baselines[0].BaselineNumber);
            Assert.AreEqual(44m, resourceAfterModification.Baselines[0].Cost);
            Assert.AreEqual(resource.StandardRate, resourceAfterModification.StandardRate);
            Assert.AreEqual(resource.Start, resourceAfterModification.Start);
            Assert.AreEqual(resource.Work, resourceAfterModification.Work);
            Assert.AreEqual(resource.Finish, resourceAfterModification.Finish);
            Assert.AreEqual(resource.OvertimeWork, resourceAfterModification.OvertimeWork);
            Assert.AreEqual(resource.Cost, resourceAfterModification.Cost);
        }
        public async Task TestAddResource()
        {
            var remoteName = await UploadFileToStorageAsync("Home move plan.mpp");

            var resourceResponse = await TasksApi.GetResourcesAsync(new GetResourcesRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, resourceResponse.Code);
            var count = resourceResponse.Resources.ResourceItem.Count;

            var postResponse = await TasksApi.PostResourceAsync(new PostResourceRequest
            {
                Name         = remoteName,
                Folder       = this.DataFolder,
                ResourceName = "new resource"
            });

            Assert.AreEqual((int)HttpStatusCode.Created, postResponse.Code);

            resourceResponse = await TasksApi.GetResourcesAsync(new GetResourcesRequest
            {
                Name   = remoteName,
                Folder = this.DataFolder
            });


            Assert.AreEqual(count + 1, resourceResponse.Resources.ResourceItem.Count);
            var addedResource = resourceResponse.Resources.ResourceItem.Where(r => r.Uid == postResponse.ResourceItem.Uid).Single();

            Assert.AreEqual("new resource", addedResource.Name);
        }
Beispiel #15
0
        public TestOutcome CreateHierarchicalTask()
        {
            TestOutcome outcome = new TestOutcome();

            outcome.moduleName = "Task";
            outcome.methodName = "TaskCreate(Hierarchical)";
            try
            {
                TasksApi tasksApi               = new TasksApi(_url);
                IO.Swagger.Model.Task task      = TaskGenerator.GetHierarchicalTask();
                JobReport             job       = tasksApi.TaskCreate(_session.SessionId, "all", task);
                JobReport             polledJob = JobHandler.pollJob(job, _session.SessionId, _url);

                if (polledJob.ErrorMessage != null)
                {
                    outcome.outcome = polledJob.ErrorMessage;
                }
                else
                {
                    outcome.outcome = "Success";
                }
                return(outcome);
            }
            catch (Exception ex)
            {
                outcome.outcome = ex.Message;
                return(outcome);
            }
        }
Beispiel #16
0
        public void run()
        {
            var configuration = new Configuration {
                AppKey = BaseContext.AppKey, AppSid = BaseContext.AppSid
            };
            TasksApi api = new TasksApi(configuration);
            var      newExtendedAttribute = new ExtendedAttributeDefinition
            {
                CalculationType = CalculationType.Lookup,
                CfType          = CustomFieldType.Text,
                FieldName       = "Text3",
                ElementType     = ElementType.Task,
                Alias           = "New Field",
                ValueList       = new List <Value>
                {
                    new Value {
                        Description = "descr1", Val = "Internal", Id = 111
                    },
                    new Value {
                        Description = "descr2", Val = "External", Id = 112
                    }
                }
            };
            var response = api.GetExtendedAttributes(new GetExtendedAttributesRequest
            {
                Name   = "NewProductDev.mpp",
                Folder = ""
            });

            Console.WriteLine(response.Code);
        }
Beispiel #17
0
        public TestOutcome UpdateTask(string path)
        {
            TestOutcome outcome = new TestOutcome();

            outcome.moduleName = "Task";
            outcome.methodName = "TaskEdit";
            try
            {
                TasksApi tasksApi          = new TasksApi(_url);
                IO.Swagger.Model.Task task = tasksApi.TaskFind(_session.SessionId, path);
                task.Rows[0].Values["conc"] = "55";
                JobReport job       = tasksApi.TaskEdit(_session.SessionId, path, task);
                JobReport polledJob = JobHandler.pollJob(job, _session.SessionId, _url);

                if (polledJob.ErrorMessage != null)
                {
                    outcome.outcome = polledJob.ErrorMessage;
                }
                else
                {
                    outcome.outcome = "Success";
                }
                return(outcome);
            }
            catch (Exception ex)
            {
                outcome.outcome = ex.Message;
                return(outcome);
            }
        }
Beispiel #18
0
        public async Task TestImportFromPrimaveraFile()
        {
            var remote = await UploadFileToStorageAsync("p6_multiproject.xml");

            var response = await TasksApi.PutImportProjectFromFileAsync(new PutImportProjectFromFileRequest
            {
                Name             = remote,
                Folder           = this.DataFolder,
                Filename         = "imported_from_primavera.xml",
                ProjectUid       = "111",
                FileType         = ImportedProjectType.PrimaveraXml,
                OutputFileFormat = ProjectFileFormat.P6xml
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);

            var getTasksResponse = await TasksApi.GetTasksAsync(new GetTasksRequest
            {
                Name   = "imported_from_primavera.xml",
                Folder = this.DataFolder
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getTasksResponse.Code);
            Assert.AreEqual(12, getTasksResponse.Tasks.TaskItem.Count);
        }
Beispiel #19
0
        public async Task TestMoveTask()
        {
            var remoteName = await UploadFileToStorageAsync("sample.mpp");

            var getResponse = await TasksApi.GetTaskAsync(new GetTaskRequest
            {
                Name    = remoteName,
                Folder  = this.DataFolder,
                TaskUid = 6
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getResponse.Code);
            CollectionAssert.DoesNotContain(getResponse.Task.SubtasksUids, 10);

            var response = await TasksApi.PutMoveTaskAsync(new PutMoveTaskRequest
            {
                Name          = remoteName,
                Folder        = this.DataFolder,
                ParentTaskUid = 6,
                TaskUid       = 10
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);

            getResponse = await TasksApi.GetTaskAsync(new GetTaskRequest
            {
                Name    = remoteName,
                Folder  = this.DataFolder,
                TaskUid = 6
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getResponse.Code);
            CollectionAssert.Contains(getResponse.Task.SubtasksUids, 10);
        }
Beispiel #20
0
        public async Task TestImportFromProjectOnlineByTokenCredentials()
        {
            var fileName       = "NewProductDev.mpp";
            var getFileRequest = new DownloadFileRequest
            {
                Path = fileName
            };
            var importFileRequest = new PutImportProjectFromProjectOnlineRequest
            {
                Name    = fileName,
                Guid    = Guid.Parse("E6426C44-D6CB-4B9C-AF16-48910ACE0F54"),
                Token   = "SOMESECRETTOKEN",
                SiteUrl = "http://project_server_instance.local/sites/pwa",
                Format  = ProjectFileFormat.Xml
            };
            Stream binaryResponse = null;

            var exception = Assert.ThrowsAsync <ApiException>(async() => binaryResponse = await TasksApi.DownloadFileAsync(getFileRequest));

            Assert.AreEqual(HttpStatusCode.NotFound, exception.HttpStatusCode);

            var response = await TasksApi.PutImportProjectFromProjectOnlineAsync(importFileRequest);

            Assert.AreEqual(HttpStatusCode.OK.ToString(), (string)response.Status);

            Assert.DoesNotThrowAsync(async() => binaryResponse = await TasksApi.DownloadFileAsync(getFileRequest));
            Assert.That(binaryResponse, Is.Not.Null);

            binaryResponse.Dispose();
            await TasksApi.DeleteFileAsync((new DeleteRequest(fileName)));
        }
        public void TestPutCalendarException()
        {
            TasksApi   target     = new TasksApi(APIKEY, APPSID, BASEPATH);
            StorageApi storageApi = new StorageApi(APIKEY, APPSID, BASEPATH);


            string            name        = "sample-project.mpp";
            int?              calendarUid = 1;
            int?              index       = 1;
            string            fileName    = null;
            string            storage     = null;
            string            folder      = null;
            CalendarException body        = new CalendarException();

            body.Name     = "NewTask";
            body.FromDate = new DateTime(2016, 2, 18);
            body.ToDate   = new DateTime(2016, 2, 22);

            storageApi.PutCreate(name, null, null, System.IO.File.ReadAllBytes("\\temp\\tasks\\resources\\" + name));
            SaaSposeResponse actual;

            actual = target.PutCalendarException(name, calendarUid, index, fileName, storage, folder, body);
            Assert.AreEqual("200", actual.Code);
            Assert.IsInstanceOfType(new SaaSposeResponse(), actual.GetType());
        }
        public async Task TestAddNewCalendar()
        {
            var remoteName = await UploadFileToStorageAsync("Home move plan.mpp");

            var response = await TasksApi.PostCalendarAsync(new PostCalendarRequest
            {
                Name     = remoteName,
                Folder   = this.DataFolder,
                Calendar = new Calendar
                {
                    Name = "My new calendar",
                    Days = new List <WeekDay>
                    {
                        new WeekDay {
                            DayType = DayType.Sunday, DayWorking = false
                        },
                        new WeekDay {
                            DayType      = DayType.Monday, DayWorking = true, FromDate = DateTime.MinValue.Add(TimeSpan.FromHours(8)), ToDate = DateTime.MinValue.Add(TimeSpan.FromHours(17)),
                            WorkingTimes = new List <WorkingTime>
                            {
                                new WorkingTime {
                                    FromTime = DateTime.MinValue.Add(TimeSpan.FromHours(8)), ToTime = DateTime.MinValue.Add(TimeSpan.FromHours(13))
                                },
                                new WorkingTime {
                                    FromTime = DateTime.MinValue.Add(TimeSpan.FromHours(14)), ToTime = DateTime.MinValue.Add(TimeSpan.FromHours(17))
                                }
                            }
                        }
                    },
                    IsBaseCalendar     = false,
                    IsBaselineCalendar = false
                }
            });

            Assert.AreEqual((int)HttpStatusCode.Created, response.Code);
            var createdCalendarUid = response.CalendarItem.Uid;

            var getResponse = await TasksApi.GetCalendarAsync(new GetCalendarRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                CalendarUid = createdCalendarUid
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getResponse.Code);
            Assert.IsNotNull(getResponse.Calendar);

            Assert.AreEqual("My new calendar", getResponse.Calendar.Name);
            Assert.AreEqual(7, getResponse.Calendar.Days.Count);

            var monday = getResponse.Calendar.Days.FirstOrDefault(d => d.DayType == DayType.Monday);

            Assert.IsNotNull(monday);

            Assert.AreEqual(2, monday.WorkingTimes.Count);
            Assert.AreEqual(TimeSpan.FromHours(8), monday.WorkingTimes[0].FromTime.Value.TimeOfDay);
            Assert.AreEqual(TimeSpan.FromHours(13), monday.WorkingTimes[0].ToTime.Value.TimeOfDay);
            Assert.AreEqual(TimeSpan.FromHours(14), monday.WorkingTimes[1].FromTime.Value.TimeOfDay);
            Assert.AreEqual(TimeSpan.FromHours(17), monday.WorkingTimes[1].ToTime.Value.TimeOfDay);
        }
        public void TestPutProjectTask()
        {
            TasksApi   target     = new TasksApi(APIKEY, APPSID, BASEPATH);
            StorageApi storageApi = new StorageApi(APIKEY, APPSID, BASEPATH);


            string name        = "sample-project-2.mpp";
            int?   taskUid     = 0;
            string mode        = null;
            bool?  recalculate = null;
            string storage     = null;
            string folder      = null;
            string fileName    = null;
            Task   body        = new Task();

            body.Uid  = 0;
            body.Id   = 1;
            body.Name = "Tasks";

            storageApi.PutCreate(name, null, null, System.IO.File.ReadAllBytes("\\temp\\tasks\\resources\\" + name));
            TaskResponse actual;

            actual = target.PutProjectTask(name, taskUid, mode, recalculate, storage, folder, fileName, body);
            Assert.AreEqual("200", actual.Code);
            Assert.IsInstanceOfType(new TaskResponse(), actual.GetType());
        }
        public async Task TestGetDocumentInCsvFormatWithSaveOptions()
        {
            var remoteName = await UploadFileToStorageAsync("Home move plan.mpp");

            // SaveOptions parameters is a json-serialized representation of
            // Aspose.Tasks's SaveOptions class or its format-specific inheritors (Like CsvOptions, etc):
            // See Aspose.Tasks reference: https://apireference.aspose.com/net/tasks/aspose.tasks.saving/saveoptions

            var saveOptionsSerialized = "{ \"TextDelimiter\":\"Comma\", \"IncludeHeaders\":false,\"NonExistingTestProperty\":false," +
                                        "\"View\":{ \"Columns\":[{Type:\"GanttChartColumn\",\"Name\":\"TestColumn1\",\"Property\":\"Name\",\"Width\":120}," +
                                        "{Type:\"GanttChartColumn\",\"Name\":\"TestColumn2\",\"Property\":\"Duration\",\"Width\":120}]}}";

            var saveOptions = JObject.Parse(saveOptionsSerialized);

            var response = await TasksApi.PostTaskDocumentWithFormatAsync(new PostTaskDocumentWithFormatRequest
            {
                Format      = ProjectFileFormat.Csv,
                Name        = remoteName,
                Folder      = this.DataFolder,
                SaveOptions = saveOptions
            });

            Assert.IsNotNull(response);
            Assert.IsTrue(response.Length > 0);
            response.Seek(0, SeekOrigin.Begin);

            using (var sr = new StreamReader(response))
            {
                var line1 = sr.ReadLine();
                Assert.AreEqual("Five to Eight Weeks Before Moving,16 days", line1);
            }
        }
        public void run()
        {
            var configuration = new Configuration {
                AppKey = BaseContext.AppKey, AppSid = BaseContext.AppSid
            };
            TasksApi api = new TasksApi(configuration);


            var response = api.PostTaskLink(new PostTaskLinkRequest()
            {
                TaskLink = new TaskLink
                {
                    PredecessorUid = 28,
                    SuccessorUid   = 30,
                    LinkType       = TaskLinkType.StartToStart,
                    Lag            = 9600,
                    LagFormat      = TimeUnitType.Day
                },
                Name    = "NewProductDev.mpp",
                Folder  = "",
                Storage = "Tasks"
            });

            Console.WriteLine(response);
        }
        public void run()
        {
            var configuration = new Configuration {
                AppKey = BaseContext.AppKey, AppSid = BaseContext.AppSid
            };
            TasksApi api = new TasksApi(configuration);


            var linksResponse = api.GetTaskLinks(new GetTaskLinksRequest()
            {
                Name    = "NewProductDev.mpp",
                Folder  = "",
                Storage = "Tasks"
            });

            var taskLinkToEdit = linksResponse.TaskLinks[0];

            taskLinkToEdit.LinkType  = TaskLinkType.StartToFinish;
            taskLinkToEdit.Lag       = 9600;
            taskLinkToEdit.LagFormat = TimeUnitType.Day;

            var response = api.PutTaskLink(new PutTaskLinkRequest()
            {
                Index    = 1,
                TaskLink = taskLinkToEdit,
                Name     = "NewProductDev.mpp",
                Folder   = "",
                Storage  = "Tasks"
            });

            Console.WriteLine(response);
        }
Beispiel #27
0
        public TogglApi(ApiConfiguration configuration, IApiClient apiClient)
        {
            Ensure.Argument.IsNotNull(configuration, nameof(configuration));

            var userAgent   = configuration.UserAgent;
            var credentials = configuration.Credentials;
            var serializer  = new JsonSerializer();
            var endpoints   = new Endpoints(configuration.Environment);

            Status             = new StatusApi(endpoints, apiClient);
            Tags               = new TagsApi(endpoints, apiClient, serializer, credentials);
            User               = new UserApi(endpoints, apiClient, serializer, credentials);
            Tasks              = new TasksApi(endpoints, apiClient, serializer, credentials);
            Clients            = new ClientsApi(endpoints, apiClient, serializer, credentials);
            Projects           = new ProjectsApi(endpoints, apiClient, serializer, credentials);
            Location           = new LocationApi(endpoints, apiClient, serializer, credentials);
            Countries          = new CountriesApi(endpoints, apiClient, serializer, credentials);
            Workspaces         = new WorkspacesApi(endpoints, apiClient, serializer, credentials);
            Preferences        = new PreferencesApi(endpoints, apiClient, serializer, credentials);
            ProjectsSummary    = new ProjectsSummaryApi(endpoints, apiClient, serializer, credentials);
            TimeEntries        = new TimeEntriesApi(endpoints, apiClient, serializer, credentials, userAgent);
            TimeEntriesReports = new TimeEntriesReportsApi(endpoints, apiClient, serializer, credentials);
            WorkspaceFeatures  = new WorkspaceFeaturesApi(endpoints, apiClient, serializer, credentials);
            Feedback           = new FeedbackApiClient(endpoints, apiClient, serializer, credentials);
            Timezones          = new TimezonesApi(endpoints, apiClient, serializer, credentials);
        }
        public void run()
        {
            var configuration = new Configuration {
                AppKey = BaseContext.AppKey, AppSid = BaseContext.AppSid
            };
            TasksApi api = new TasksApi(configuration);

            var response = api.GetTaskRecurringInfo(new GetTaskRecurringInfoRequest
            {
                Name    = "sample.mpp",
                Storage = "Tasks",
                Folder  = "",
                TaskUid = 6
            });
            var recurringInfo = response.RecurringInfo;

            recurringInfo.Occurrences = 10;

            var putResponse = api.PutTaskRecurringInfo(new PutTaskRecurringInfoRequest
            {
                Name          = "sample.mpp",
                Storage       = "Tasks",
                Folder        = "",
                TaskUid       = 6,
                RecurringInfo = recurringInfo
            });

            Console.WriteLine(response.Code);
        }
        public async Task TestGetCalendarExceptions()
        {
            var remoteName = await UploadFileToStorageAsync("Calenar with exception.mpp");

            var getResponse = await TasksApi.GetCalendarExceptionsAsync(new GetCalendarExceptionsRequest
            {
                Name        = remoteName,
                Folder      = this.DataFolder,
                CalendarUid = 1
            });

            Assert.AreEqual((int)HttpStatusCode.OK, getResponse.Code);
            Assert.IsNotNull(getResponse.CalendarExceptions);
            Assert.AreEqual(1, getResponse.CalendarExceptions.Count);

            var calendarException = getResponse.CalendarExceptions[0];

            Assert.AreEqual(true, calendarException.DayWorking);
            CollectionAssert.AreEqual(new[] { DayType.Monday }, calendarException.DaysOfWeek);
            Assert.AreEqual(new DateTime(2018, 02, 13), calendarException.FromDate);
            Assert.AreEqual(new DateTime(2018, 04, 9), calendarException.ToDate.Value.Date);

            Assert.AreEqual(Month.Undefined, calendarException.Month);
            Assert.AreEqual(MonthItemType.Undefined, calendarException.MonthItem);
            Assert.AreEqual(MonthPosition.Undefined, calendarException.MonthPosition);
            Assert.AreEqual(CalendarExceptionType.Weekly, calendarException.Type);
            Assert.AreEqual(8, calendarException.Occurrences);
            Assert.AreEqual(1, calendarException.Period);
            Assert.AreEqual(2, calendarException.WorkingTimes.Count);
            Assert.AreEqual(TimeSpan.FromHours(9), calendarException.WorkingTimes[0].FromTime.Value.TimeOfDay);
            Assert.AreEqual(new TimeSpan(12, 34, 0), calendarException.WorkingTimes[0].ToTime.Value.TimeOfDay);
            Assert.AreEqual(new TimeSpan(15, 11, 0), calendarException.WorkingTimes[1].FromTime.Value.TimeOfDay);
            Assert.AreEqual(new TimeSpan(17, 30, 0), calendarException.WorkingTimes[1].ToTime.Value.TimeOfDay);
        }
Beispiel #30
0
        public async Task TestGetResourceAssignmentTimephasedData()
        {
            var remoteName = await UploadFileToStorageAsync("NewProductDev.mpp");

            var response = await TasksApi.GetAssignmentTimephasedDataAsync(new GetAssignmentTimephasedDataRequest()
            {
                AssignmentUid = 66,
                Name          = remoteName,
                Folder        = this.DataFolder,
                Type          = TimephasedDataType.AssignmentWork
            });

            Assert.AreEqual((int)HttpStatusCode.OK, response.Code);
            Assert.IsNotNull(response.Items);
            var timephasedDataItems = response.Items;

            Assert.IsNotNull(timephasedDataItems);
            Assert.IsTrue(timephasedDataItems.Count > 0);

            for (int i = 0; i < timephasedDataItems.Count; i++)
            {
                Assert.AreEqual(TimephasedDataType.AssignmentWork, timephasedDataItems[i].TimephasedDataType);
                Assert.AreEqual(66, timephasedDataItems[i].Uid);
            }
        }