public async Task <IActionResult> AddUser([FromBody] UserViewModel model) { try { if (!ModelState.IsValid) { return(BadRequest(model)); } var existingUser = _userRepository.GetUser(model.Email); if (existingUser != null) { return(BadRequest(Errors.AddErrorToModelState("email", "Email address is already used.", ModelState))); } model.HashedPassword = _signInService.GetHashedPassword(model.HashedPassword); await _userRepository.AddUserAsync(model); var newUser = _userRepository.GetUser(model.Email); if (newUser != null) { await _santasRepo.AddUserAsync(newUser.Id); } return(new JsonResult(new { id = newUser.Id })); } catch (System.Exception ex) { var result = Newtonsoft.Json.JsonConvert.SerializeObject(new { error = ex.Message }); Response.ContentType = "application/json"; Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; return(new JsonResult(result)); } }
public async Task <IActionResult> UpdateUser([FromBody] UserViewModel model) { try { if (!ModelState.IsValid) { return(BadRequest(model)); } await _userRepository.UpdateUserAsync(model); return(Ok()); } catch (System.Exception ex) { var result = Newtonsoft.Json.JsonConvert.SerializeObject(new { error = ex.Message }); Response.ContentType = "application/json"; Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; return(new JsonResult(new { error = ex.Message })); } }