public async Task<bool> UpdateProject(string accessToken, Project project) { StringBuilder requestUri = new StringBuilder() .Append(this.SiteUrl) .Append("/_api/web/lists/getbyTitle('") .Append(this.ProjectsListName) .Append("')/getItemByStringId('") .Append(project.Id.ToString()) .Append("')"); XElement entry = project.ToXElement(); StringContent requestContent = new StringContent(entry.ToString()); HttpResponseMessage response = await this.Patch(requestUri.ToString(), accessToken, project.__eTag, requestContent); return response.IsSuccessStatusCode; }
public async Task<Project> CreateProject(string accessToken, Project project) { StringBuilder requestUri = new StringBuilder() .Append(this.SiteUrl) .Append("/_api/web/lists/getbyTitle('") .Append(this.ProjectsListName) .Append("')/items"); XElement entry = project.ToXElement(); StringContent requestContent = new StringContent(entry.ToString()); HttpResponseMessage response = await this.Post(requestUri.ToString(), accessToken, requestContent); string responseString = await response.Content.ReadAsStringAsync(); return XElement.Parse(responseString).ToProject(); }
// PUT: odata/Projects(5) public IHttpActionResult Put([FromODataUri] int key, Project project) { return StatusCode(HttpStatusCode.NotImplemented); }
// POST: odata/Projects public async Task<IHttpActionResult> Post(Project project) { //Get access token to SharePoint string accessToken = await _tokenProvider.GetSharePointAccessToken(); if (accessToken == null) { throw new UnauthorizedAccessException(); } if (!ModelState.IsValid) { return BadRequest(ModelState); } Project newProject = await _repository.CreateProject(accessToken, project); return Created(newProject); }
// PUT: odata/Projects(5) public IHttpActionResult Put([FromODataUri] int key, Project project) { Request.ValidateAntiForgery(); return StatusCode(HttpStatusCode.NotImplemented); }