public void Add(Project newProject) { if (newProject.Id == Guid.Empty) newProject.Id = Guid.NewGuid(); if (null == GetById(newProject.Id)) { _projects.Add(newProject); } else { throw new InvalidOperationException("Project with same id exists"); } }
public void Update(Project existingProject) { var p = GetById(existingProject.Id); if (null != p) { _projects.Remove(p); _projects.Add(existingProject); } else { throw new KeyNotFoundException($"Project with id {existingProject.Id} not found"); } }
// POST: odata/ProjectsOdata public IHttpActionResult Post(Project project) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Projects.Add(project); try { db.SaveChanges(); } catch (DbUpdateException) { if (ProjectExists(project.Id)) { return Conflict(); } else { throw; } } return Created(project); }