예제 #1
0
        public async Task <IActionResult> ChangePassword(EmailRequest Email)
        {
            if (string.IsNullOrEmpty(Email.Email))
            {
                return(BadRequest(new { Data = "Email vacio", Success = false }));
            }

            if (string.IsNullOrEmpty(Email.OldPassword))
            {
                return(BadRequest(new { Data = "", Success = false }));
            }

            if (string.IsNullOrEmpty(Email.NewPassword))
            {
                return(BadRequest(new { Data = "NewPassword not found", Success = false }));
            }

            var user     = _dataContext.Users.First(x => x.UserName == Email.Email);
            var response = await _userHelper.ChangePassword(user, Email.OldPassword, Email.NewPassword);

            if (!response.Succeeded)
            {
                return(BadRequest(new { Data = "La contraseña actual es incorrecta", Success = false }));
            }

            try
            {
                await _dataContext.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest(new { Data = ex.ToString(), Success = false }));
            }

            return(Ok(new { Data = "La contraseña se actualizo con exito", Success = true }));
        }