Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
        /// <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"
                });
            }
        }
Exemplo n.º 4
0
        public async Task <Node> SecureGetAsync(string id)
        {
            var request = $"{API_URL}?id={id}";
            var items   = await AuthorizedHttpClient.GetFromJsonAsync <Node[]>(request);

            return(items.FirstOrDefault());
        }
Exemplo n.º 5
0
 /// <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");
     }
 }
Exemplo n.º 6
0
        /// <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
                });
            }
        }
Exemplo n.º 7
0
        /// <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
                });
            }
        }
Exemplo n.º 8
0
        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;
            }
        }
Exemplo n.º 9
0
 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)));
     }
 }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
 /// <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);
 }
Exemplo n.º 12
0
 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)));
     }
 }
Exemplo n.º 13
0
 /// <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);
 }
Exemplo n.º 14
0
 /// <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);
 }
Exemplo n.º 15
0
 /// <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);
 }
Exemplo n.º 16
0
        /// <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);
            }
        }
Exemplo n.º 17
0
 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);
 }
Exemplo n.º 18
0
        /// <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);
            }
        }
Exemplo n.º 19
0
        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));
        }
Exemplo n.º 20
0
        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));
        }
Exemplo n.º 21
0
 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);
 }
Exemplo n.º 22
0
 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);
 }
Exemplo n.º 23
0
 /// <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)));
     }
 }
Exemplo n.º 24
0
 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);
 }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
 /// <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)));
     }
 }
Exemplo n.º 29
0
 /// <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)));
     }
 }
Exemplo n.º 30
0
 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);
 }