Пример #1
0
        // GET: Admin/Staffs/ChangePassword
        public ActionResult ChangePassword()
        {
            int staffId = ((Staff)Session["Staff"]).Id;

            ViewBag.OldPassword = TempData["OldPassword"]?.ToString();
            ViewBag.Phone       = ((Staff)Session["Staff"]).Phone;
            ViewBag.CreateAt    = ((Staff)Session["Staff"]).CreatedAt;
            ChangePasswordViewmodel viewmodel = new ChangePasswordViewmodel();

            viewmodel.Id = staffId;
            return(View(viewmodel));
        }
Пример #2
0
 public void Initialize()
 {
     userRepository = new Mock <IUserRepository>();
     userService    = new Mock <IUserService>();
     logger         = new Mock <ILogger <UserController> >();
     botiService    = new Mock <IBoticarioService>();
     userController = new UserController(logger.Object);
     user           = new User {
         Cpf = "01234567895", Email = "*****@*****.**", Name = "Teste", Role = "Usuario", CreatedAt = new DateTimeOffset(), Id = "5f0e43f02f695b5ae0d8526e"
     };
     response = new Response();
     changePasswordViewmodel = new ChangePasswordViewmodel {
         CurrentPassword = "******", NewPassword = "******", ConfirmNewPassword = "******"
     };
 }
Пример #3
0
 public ActionResult ChangePassword(ChangePasswordViewmodel model)
 {
     if (ModelState.IsValid)
     {
         var staff = db.Staffs.Where(x => x.Id == model.Id).FirstOrDefault();
         if (!Hashing.ValidatePassword(model.OldPassword, staff.Password))
         {
             TempData["OldPassword"] = "******";
             return(RedirectToAction("ChangePassword"));
         }
         else
         {
             staff.Password        = Hashing.HashPassword(model.ConfirmNewPassword);
             db.Entry(staff).State = EntityState.Modified;
             db.SaveChanges();
         }
     }
     return(RedirectToAction("Me"));
 }
Пример #4
0
        public async Task <Response> ChangePassword(ChangePasswordViewmodel changePasswordViewmodel, string email)
        {
            var response = new Response();

            try
            {
                var user = await _userRepository.GetByEmail(email);

                if (user == null)
                {
                    _logger.LogInformation($"Usuário com e-mail: {user.Email} não encontrado!");
                    response.AddNotification("Usuário não encontrado!");
                    return(response);
                }

                if (!user.Password.VerifyHashPassword(changePasswordViewmodel.CurrentPassword))
                {
                    _logger.LogInformation($"Senha atual não corresponde com a informada!");
                    response.AddNotification("Senha atual não corresponde com a informada!");
                    return(response);
                }
                if (changePasswordViewmodel.NewPassword != changePasswordViewmodel.ConfirmNewPassword)
                {
                    _logger.LogInformation($"A nova senha e a confirmação da nova senha estão difetrentes!");
                    response.AddNotification("A nova senha e a confirmação da nova senha estão difetrentes!");
                    return(response);
                }

                user.Password = changePasswordViewmodel.NewPassword.ToHashPassword();

                await _userRepository.UpdateAsync(user);

                response.AddValue(new UserViewModel(user));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                response.AddNotification(ex.Message);
            }
            return(response);
        }
Пример #5
0
        public async Task <IActionResult> ChangePassword([FromServices] IUserService userService, [FromBody] ChangePasswordViewmodel changePasswordViewmodel)
        {
            try
            {
                string email    = User?.Identity.Name;
                var    response = await userService.ChangePassword(changePasswordViewmodel, email);

                if (response.Invalid)
                {
                    var foundProblem = response.GetProblemDetails(response);
                    _logger.LogWarning($"{foundProblem}");
                    return(BadRequest(foundProblem));
                }
                _logger.LogInformation($"Usuário ({User?.Identity.Name}) alterou a senha");
                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest(ex));
            }
        }