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()); }
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); }
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); }
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); }
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()); }
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); }
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); }
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); }
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); } }
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); }
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); } }
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); }
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); }
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); }
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); }
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); } }