/// <summary> /// Add event to user´s calendar /// http://developer.teamwork.com/events#create_event /// </summary> /// <param name="data"></param> /// <returns></returns> public async Task <int> AddCalendarEntry(EventCreate data) { try { using (var client = new AuthorizedHttpClient(_client)) { var settings = new JsonSerializerSettings() { ContractResolver = new NullToEmptyStringResolver() }; string post = JsonConvert.SerializeObject(data, settings); var response = await client.PostWithReturnAsync("calendarevents.json", new StringContent("{\"event\":" + post + "}", Encoding.UTF8)); if (response.StatusCode == HttpStatusCode.OK) { var id = response.ContentObj; int returnval; if (int.TryParse(id.ToString(), out returnval)) { return(returnval); } } } return(-1); } catch (Exception) { return(-1); } }
/// <summary> /// Add a Task to the tasklist /// http://developer.teamwork.com/todolistitems#add_a_task /// </summary> /// <param name="todo">The Task</param> /// <param name="taskListId">Tasklist to add the task to</param> /// <returns>Milestone ID</returns> public async Task <TodoItem> AddTodoItem(TodoItem todo, int taskListId) { using (var client = new AuthorizedHttpClient(this.client.ApiKey, this.client.Domain)) { var settings = new JsonSerializerSettings() { ContractResolver = new NullToEmptyStringResolver() }; string post = JsonConvert.SerializeObject(todo, settings); var newList = await client.PostWithReturnAsync("/tasklists/" + taskListId + "/tasks.json", new StringContent("{\"todo-item\": " + post + "}", Encoding.UTF8)); var id = newList.Headers.First(p => p.Key == "id"); if (id.Value != null) { var listresponse = await client.GetAsync <TaskResponse>("/tasks/" + int.Parse((string)id.Value.First()) + ".json", null, RequestFormat.Json); if (listresponse != null && listresponse.ContentObj != null) { var response = (TaskResponse)listresponse.ContentObj; return(response.TodoItem); } } return(null); } }
/// <summary> /// Return all Calendar Events for APIKey /// http://developer.teamwork.com/events#create_event /// </summary> /// <param name="deleted"></param> /// <param name="dtFrom"></param> /// <param name="dtUntil"></param> /// <param name="updatedafter"></param> /// <param name="typeID"></param> /// <param name="page"></param> /// <returns></returns> public async Task <EventsResponse> GetAllEvents(bool deleted, DateTime dtFrom, DateTime dtUntil, DateTime updatedafter, int typeID, int page) { string start = dtFrom.ToString("yyyyMMdd"); string end = dtUntil.ToString("yyyyMMdd"); string updated = updatedafter.ToString("yyyyMMddHHmmss"); using (var client = new AuthorizedHttpClient(_client)) { var data = await client.GetAsync <EventsResponse>("calendarevents.json?startdate=" + start + "&endDate=" + end + "&showDeleted=" + deleted + "&updatedAfterDate=" + updated + "&page=" + page, null); if (data.StatusCode == HttpStatusCode.OK) { var response = (EventsResponse)data.ContentObj; response.Pages = int.Parse(data.Headers.GetValues("X-Pages").First()); response.Page = int.Parse(data.Headers.GetValues("X-Page").First()); response.TotalRecords = int.Parse(data.Headers.GetValues("X-Records").First()); return(response); } return(new EventsResponse() { Events = null, STATUS = "ERROR" }); } }
public async Task <Node> SecureGetAsync(string id) { var request = $"{API_URL}?id={id}"; var items = await AuthorizedHttpClient.GetFromJsonAsync <Node[]>(request); return(items.FirstOrDefault()); }
/// <summary> /// Delete a Calendar Entry /// http://developer.teamwork.com/events#create_event /// </summary> /// <param name="id"></param> public async void DeleteEntry(int id) { using (var client = new AuthorizedHttpClient(_client)) { await client.DeleteAsync("/calendarevents/" + id + ".json"); } }
/// <summary> /// Returns details of a specific person in a project /// http://developer.teamwork.com/people /// </summary> /// <param name="pRojectId">Project ID (int)</param> /// <param name="pErsonId"></param> /// <returns>Person List</returns> public async Task <PeopleResponse> GetPeople(int pRojectId, int pErsonId) { try { using (var client = new AuthorizedHttpClient(this.client.ApiKey, this.client.Domain)) { var data = await client.GetAsync <PeopleResponse>("/projects/" + pRojectId + "/people/" + pErsonId + ".json", null); if (data.StatusCode == HttpStatusCode.OK) { return((PeopleResponse)data.ContentObj); } } return(new PeopleResponse { STATUS = "ERROR", People = null }); } catch (Exception ex) { return(new PeopleResponse { STATUS = "ERROR:" + ex.Message, People = null }); } }
/// <summary> /// Return time totals for a project or tasklist /// http://developer.teamwork.com/timetracking#time_totals /// </summary> /// <param name="projectID">Project ID (int)</param> /// <param name="userId"></param> /// <param name="fromDate"></param> /// <param name="toDate"></param> /// <param name="fromTime"></param> /// <param name="toTime"></param> /// <returns>Person List</returns> public async Task <TimeTotalsResponse> GetTotals_Project(int projectID, int userId = 0, DateTime?fromDate = null, DateTime?toDate = null, string fromTime = "", string toTime = "") { try { using (var client = new AuthorizedHttpClient(_client)) { var data = await client.GetAsync <TimeTotalsResponse>("/projects/" + projectID + "/time/total.json", null); if (data.StatusCode == HttpStatusCode.OK) { return((TimeTotalsResponse)data.ContentObj); } } return(new TimeTotalsResponse { STATUS = "ERROR", Projects = null }); } catch (Exception ex) { return(new TimeTotalsResponse { STATUS = "ERROR:" + ex.Message, Projects = null }); } }
private async Task OnValidSubmit() { try { this.IsLoading = true; var response = await AuthorizedHttpClient.PostAsJsonAsync("api/Promotion/AddPromotion", this.PromotionModel); if (!response.IsSuccessStatusCode) { var problemHttpResponse = await response.Content.ReadFromJsonAsync <ProblemHttpResponse>(); await this.ToastifyService.DisplayErrorNotification(problemHttpResponse.Detail); } else { await this.ToastifyService.DisplaySuccessNotification("Promotion has been added"); NavigationManager.NavigateTo("Admin/Promos/List"); } } catch (Exception ex) { await ToastifyService.DisplayErrorNotification(ex.Message); } finally { this.IsLoading = false; } }
public async Task <BaseResponse <int> > AddPerson(Person company) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(company); return(await client.PostWithReturnAsync("/people.json", new StringContent("{\"person\": " + post + "}", Encoding.UTF8))); } }
public async Task <Message[]> GetAsync(string groupId, int currentPage) { var request = $"{API_URL}?groupId={groupId}"; var messages = await AuthorizedHttpClient.GetFromJsonAsync <Message[]>(request); messages.ToList().ForEach(async m => m.Username = await _userService.GetUserNameAsync(m.CreatedBy)); return(messages); }
/// <summary> /// Delete a Task /// </summary> /// <param name="taskid"></param> /// <returns></returns> public async Task <bool> UnCompleteTask(int taskid) { using (var client = new AuthorizedHttpClient(_client)) { var response = await client.PutAsync("/tasks/" + taskid + "/uncomplete.json", null); } return(false); }
public async Task <BaseResponse <int> > AddCompany(Company company) { using (var client = new AuthorizedHttpClient(this.client.ApiKey, this.client.Domain)) { string post = JsonConvert.SerializeObject(company); return(await client.PostWithReturnAsync("/companies.json", new StringContent("{\"company\": " + post + "}", Encoding.UTF8))); } }
/// <summary> /// Delete a Task /// </summary> /// <param name="tagid"></param> /// <returns></returns> public async Task <bool> DeleteTask(int tagid) { using (var client = new AuthorizedHttpClient(_client)) { var response = await client.DeleteAsync("/tags/" + tagid + ".json"); } return(false); }
/// <summary> /// Mark the specifiec Milestone as completed /// </summary> /// <param name="milestoneID"></param> /// <returns></returns> public async Task <bool> MarkCommplete(int milestoneID) { using (var client = new AuthorizedHttpClient(_client)) { var response = await client.PutAsync("/milestones/" + milestoneID + "/complete.json", null); } return(false); }
/// <summary> /// Deprecated, should not be used! /// </summary> /// <returns></returns> public ProjectsResponse GetAllProjects() { using (var client = new AuthorizedHttpClient(_client)) { var data = client.Get <MileStonesResponse>("milestones.json", null); } return(null); }
/// <summary> /// Delete given Project /// http://developer.teamwork.com/projects /// </summary> /// <param name="project">Project Object</param> /// <returns>true/false</returns> public async Task <bool> DeleteProject(Project project) { using (var client = new AuthorizedHttpClient(_client)) { await client.DeleteAsync("/projects/" + project.id + ".json"); return(true); } }
public async Task <bool> DeleteCompany(Company company) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(company); var response = await client.DeleteAsync("/companies/" + company.Id + ".json"); } return(false); }
/// <summary> /// Delete given Project /// http://developer.teamwork.com/projects /// </summary> /// <param name="project">Project Object</param> /// <returns>true/false</returns> public async Task <bool> DeleteProject(Project project) { using (var client = new AuthorizedHttpClient(this.client.ApiKey, this.client.Domain)) { await client.DeleteAsync("/projects/" + project.Id + ".json"); return(true); } }
public async Task <int> SecureGetCountAsync(NodeSearch nodeSearch) { var request = $"{API_URL}/GetCount?{nodeSearch.ToQueryString()}"; var response = await AuthorizedHttpClient.GetAsync(request); var count = await response.Content.ReadAsStringAsync(); return(int.Parse(count)); }
public async Task <int> SecureGetCountAsync(NodeSearch nodeSearch) { var request = $"{API_URL}/GetCount"; var response = await AuthorizedHttpClient.PostAsJsonAsync <NodeSearch>(request, nodeSearch); var count = await response.Content.ReadAsStringAsync(); return(int.Parse(count)); }
public async Task <bool> DeleteMilestone(int project) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(project); var response = await client.DeleteAsync("/milestones/" + project + ".json"); } return(false); }
public async Task <bool> DeleteBoard(Category company) { using (var client = new AuthorizedHttpClient(this.client.ApiKey, this.client.Domain)) { string post = JsonConvert.SerializeObject(company); var response = await client.DeleteAsync("/category/" + company.Id + ".json"); } return(false); }
/// <summary> /// Add a new Tag /// </summary> /// <returns></returns> public async Task <BaseResponse <int> > AddTagAsync(Tag theTag) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(theTag); return (await client.PostWithReturnAsync("/tags.json", new StringContent("{\"tag\": " + theTag + "}", Encoding.UTF8))); } }
public async Task <bool> AddProjectCategory(Category company) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(company); var response = await client.PostAsync("categories.json", new StringContent("{\"category\":" + post + "}", Encoding.UTF8)); } return(false); }
public async Task <HttpResponseMessage> AddAsync(ContentActivity contentActivity) { var response = await AuthorizedHttpClient.PostAsJsonAsync <ContentActivity>(API_URL, contentActivity); var id = await response.Content.ReadAsStringAsync(); contentActivity.Node.Id = id; return(response); }
public async Task <HttpResponseMessage> AddAsync(Category category) { var response = await AuthorizedHttpClient.PostAsJsonAsync <Category>(API_URL, category); var id = await response.Content.ReadAsStringAsync(); category.Id = id; return(response); }
public async Task <HttpResponseMessage> PostAsync(Group group) { var response = await AuthorizedHttpClient.PostAsJsonAsync <Group>(API_URL, group); var id = await response.Content.ReadAsStringAsync(); group.Id = id; return(response); }
/// <summary> /// Create a new Project /// http://developer.teamwork.com/projects /// </summary> /// <param name="project">New Project Object</param> /// <returns>Project ID</returns> public async Task <BaseResponse <int> > AddProject(Newproject project) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(project); return (await client.PostWithReturnAsync("projects.json", new StringContent("{\"project\": " + post + "}", Encoding.UTF8))); } }
/// <summary> /// Update details of given Project /// http://developer.teamwork.com/projects /// </summary> /// <param name="code">code eg: [email protected]</param> /// <param name="projectId"></param> /// <returns>Project ID</returns> public async Task <BaseResponse <ProjectMailResponse> > SetProjectEmailAddressCode(string code, int projectId) { using (var client = new AuthorizedHttpClient(_client)) { return (await client.PutWithReturnObjectAsync("/projects/" + projectId + "/emailaddress.json", new StringContent("{\"emailaddress\": {\"code\":\"" + code + "\"}", Encoding.UTF8))); } }
public async Task <bool> UpdateCompany(Company company) { using (var client = new AuthorizedHttpClient(_client)) { string post = JsonConvert.SerializeObject(company); var response = await client.PutAsync("/companies/" + company.Id + ".json", new StringContent("{\"company\": " + post + "}", Encoding.UTF8)); } return(false); }