/// <summary> /// Return all Milestones of a given project /// http://developer.teamwork.com/milestones /// </summary> /// <param name="projectid">Project ID (int)</param> /// <param name="type">Milestone Search Type</param> /// <returns>Milestone List</returns> public async Task <MileStonesResponse> GetProjectMilestones(int projectid, MilestoneFindType type) { using (var client = new AuthorizedHttpClient(_client)) { var data = await client.GetAsync <MileStonesResponse>( "/projects/" + projectid + "milestones.json?getProgress=true&find=" + type, null); if (data.StatusCode == HttpStatusCode.OK) { return((MileStonesResponse)data.ContentObj); } } return(null); }
/// <summary> /// Returns all projects the user has access to /// </summary> /// <returns></returns> public async Task <MileStonesResponse> GetAllMilstones(MilestoneFindType type) { using (var client = new AuthorizedHttpClient(_client)) { var data = await client.GetAsync <MileStonesResponse>("milestones.json?find=" + type + "&getProgress=true", null); if (data.StatusCode == HttpStatusCode.OK) { var response = (MileStonesResponse)data.ContentObj; response.Etag = data.Headers.GetValues("ETag").First(); response.LastUpdate = DateTime.Parse(data.Headers.GetValues("X-lastUpdated").First()); 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(null); } }