public async Task <IHttpActionResult> Post([FromBody] Manager manager) { if (!ModelState.IsValid) { return(StatusCode(HttpStatusCodeExtensions.UnprocessableEntity)); } var managerExists = await _db.Managers.AnyAsync(m => m.Profile.Email == manager.Profile.Email); if (managerExists) { return(Conflict()); } var existingProfile = await _db.Profiles .Where(m => m.Email == manager.Profile.Email) .SingleOrDefaultAsync(); _db.Managers.Add(manager); if (existingProfile != null) { manager.Profile.Id = existingProfile.Id; manager.Profile.UserId = await _db.Users .Where(user => user.Email == manager.Profile.Email) .Select(user => user.Id) .SingleOrDefaultAsync() ?? existingProfile.UserId; _db.Entry(manager.Profile).State = EntityState.Modified; } await _db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = manager.Id }, manager)); }
public async Task<IHttpActionResult> Put(int id, [FromBody] Division division) { division.Id = id; _db.Entry(division).State = EntityState.Modified; await _db.SaveChangesAsync(); return StatusCode(HttpStatusCode.NoContent); }
public async Task <IHttpActionResult> Put(int id, [FromBody] Goal goal) { goal.Id = id; _db.Entry(goal).State = EntityState.Modified; await _db.SaveChangesAsync(); return(StatusCode(HttpStatusCode.NoContent)); }