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);
        }