public async Task <IActionResult> PostUser([FromBody] User user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (UserTypes.IsValidUserType(user.UserType)) { _context.Users.Add(user); await _context.SaveChangesAsync(); return(CreatedAtAction("GetUser", new { id = user.Username }, user)); } else { return(BadRequest("Invalid User Type")); } }
public async Task <IActionResult> PutUser([FromRoute] string id, [FromBody] User user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != user.Username) { return(BadRequest()); } if (!UserTypes.IsValidUserType(user.UserType)) { return(BadRequest("Invalid User Type")); } _context.Entry(user).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }