Ejemplo n.º 1
0
        public async Task <IHttpActionResult> EditPassword(ServicesVzLaUserEdit _user)
        {
            //  var errorMessages = string.Empty;
            errorMessages = string.Empty;
            try
            {
                var email           = string.Empty;
                var currentPassword = string.Empty;
                var newPassword     = string.Empty;
                //  dynamic jsonObject = _user;

                if (!ModelState.IsValid)
                {
                    //  Gets error of the ModelState
                    errorMessages  = "Error: the UserEdit is not valid...!!!" + System.Char.ConvertFromUtf32(13);
                    errorMessages += MethodsHelper.GetErrorsModelState(ModelState);

                    ModelState.AddModelError(string.Empty, errorMessages);
                    return(BadRequest(errorMessages));
                }

                //  email = jsonObject.Email.Value;
                //  currentPassword = jsonObject.CurrentPassword.Value;
                //  newPassword = jsonObject.NewPassword.Value;
                email           = _user.Email;
                currentPassword = _user.Password;
                newPassword     = _user.NewPassword;


                var userContext = new ApplicationDbContext();
                var userManager =
                    new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
                var userASP = userManager.FindByEmail(email);

                if (userASP == null)
                {
                    //  return NotFound();
                    ModelState.AddModelError(string.Empty, "Error: UserASP (By Email) is null...!!!");
                    return(BadRequest("Error: UserASP (By Email) is null...!!!"));
                }

                var response =
                    await userManager.ChangePasswordAsync(
                        userASP.Id,
                        currentPassword,
                        newPassword);

                if (!response.Succeeded)
                {
                    errorMessages  = "Error: " + System.Char.ConvertFromUtf32(13);
                    errorMessages += response.Errors.FirstOrDefault();
                    ModelState.AddModelError(string.Empty, errorMessages);
                    return(BadRequest(response.Errors.FirstOrDefault()));
                }

                return(Ok(true));
            }
            catch (Exception ex)
            {
                errorMessages = string.Format("Error: {0}", ex.Message);
                //  return BadRequest("Incorrect call");
                return(BadRequest(errorMessages));
            }
        }