public async Task <IActionResult> UpdateUser(int id, [FromBody] UserForManipulation user) { User oldUser = await userService.FindUser(id); if (oldUser == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (oldUser.UserName != user.UserName) { if (await userService.FindUserByUserName(user.UserName) != null) { ModelState.AddModelError("UserName", "User name already exist."); return(BadRequest(ModelState)); } } try { await userService.UpdateUser(user, oldUser); return(NoContent()); } catch (Exception xcp) { return(StatusCode(500, xcp.InnerException.Message)); } }
public async Task <IActionResult> CreateUser([FromBody] UserForManipulation user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (await userService.FindUserByUserName(user.UserName) != null) { ModelState.AddModelError("UserName", "User name already exist."); return(BadRequest(ModelState)); } try { User newUser = await userService.AddUser(user); return(Created($"GetUser/{newUser.UserId}", newUser)); } catch (Exception xcp) { return(StatusCode(500, xcp.InnerException.Message)); } }