// POST odata/Projects public async Task<IHttpActionResult> Post(Project project) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Projects.Add(project); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (ProjectExists(project.ProjectId)) { return Conflict(); } else { throw; } } return Created(project); }
// PUT odata/Projects(5) public async Task<IHttpActionResult> Put([FromODataUri] string key, Project project) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (key != project.ProjectId) { return BadRequest(); } db.Entry(project).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProjectExists(key)) { return NotFound(); } else { throw; } } return Updated(project); }