예제 #1
0
        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));
            }
        }
예제 #2
0
        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 }));
            }
        }