public CreationStatusResp CreateIssue(string repository, IssueData i) { var uri = string.Format("https://api.github.com/repos/{0}/{1}/issues", UserName, repository); var resp = _httpClient.PostAsync(uri, new ObjectContent(typeof(JsonIssue), new JsonIssue() { title = i.Title, body = i.Body }, new List<MediaTypeFormatter>() { new JsonMediaTypeFormatter() })); CheckResponse(resp.Result); if (resp.Result.StatusCode == System.Net.HttpStatusCode.Created) { var issue = resp.Result.Content.ReadAsAsync<JsonIssue>().Result; return new CreationStatusResp() { Code = StatusCode.Ok, NewEntityId = Convert.ToString(issue.number) }; } throw new FaultException<InternalServerFault>(new InternalServerFault()); }
public StatusResp EditIssue(string repository, string id, IssueData i) { var uri = string.Format("https://api.github.com/repos/{0}/{1}/issues/{2}", UserName, repository, id); var resp = _httpClient.SendAsync( new HttpRequestMessage(new HttpMethod("PATCH"), uri) { Content = new ObjectContent(typeof(JsonIssue), new JsonIssue() { title = i.Title, body = i.Body }, new List<MediaTypeFormatter>() { new JsonMediaTypeFormatter() }) }); CheckResponse(resp.Result); return new StatusResp() { Code = StatusCode.Ok }; }