protected override ValidationResult IsValid(object value, ValidationContext validationContext) { _context = AppSettings.contexto; TrocaSenhaViewModel trocaSenha = (TrocaSenhaViewModel)validationContext.ObjectInstance; if (trocaSenha.Tipo == "func") { var func = _context.Funcionários.Find(trocaSenha.Id); if ((func != null) && (trocaSenha.SenhaAtual != null)) // foi colocado esse AND porque essa critica de SenhaAtualInvalida está diparando primeiro( mesmo caso no cliente) { if (!Encryption.ValidateSHA1HashData(trocaSenha.SenhaAtual, func.Senha)) { return(new ValidationResult("Senha atual inválida")); } } } else { var cli = _context.ClientesWeb.Find(trocaSenha.Id); if ((cli != null) && (trocaSenha.SenhaAtual != null)) { if (!Encryption.ValidateSHA1HashData(trocaSenha.SenhaAtual, cli.Senha)) { return(new ValidationResult("Senha atual inválida")); } } } return(ValidationResult.Success); }
public ActionResult TrocarSenha(TrocaSenhaViewModel senhas, string token) { if (senhas.NovaSenha == null || senhas.ConfirmaNovaSenha == null) { return(Content("Campos não podem ser vazios!!!!")); } if (!senhas.ConfirmaNovaSenha.Equals(senhas.NovaSenha)) { return(Content("Senhas não conferem")); } var usuario = new UsuarioViewModel { Cpf = Session["Login"].ToString(), SenhaUsuario = senhas.NovaSenha }; var response = _appUsuario.TrocarSenha(usuario, token); if (response.Status != HttpStatusCode.OK) { return(Content($"Erro ao trocar a senha, {response.ContentAsString}")); } if (Session["FirstLogin"].ToString().Equals("T")) { Session["FirstLogin"] = "******"; } return(Content("Senha alterada com sucesso!")); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { TrocaSenhaViewModel trocaSenha = (TrocaSenhaViewModel)validationContext.ObjectInstance; if (trocaSenha.SenhaAtual == trocaSenha.NovaSenha) { return(new ValidationResult("A senha nova é igual a atual")); } return(ValidationResult.Success); }
public IActionResult TrocaSenha(TrocaSenhaViewModel trocaSenha) { if (ModelState.IsValid) { if (trocaSenha.Tipo == "func") { var funcionario = _context.Funcionários.Find(trocaSenha.Id); funcionario.Senha = Encryption.GetSHA1HashData(trocaSenha.NovaSenha); } else { var cliente = _context.ClientesWeb.Find(trocaSenha.Id); cliente.Senha = Encryption.GetSHA1HashData(trocaSenha.NovaSenha); } _context.SaveChanges(); TempData["mensagem"] = "Senha alterada com sucesso!"; return(RedirectToAction("Index", "Home")); } ViewBag.Account = trocaSenha; return(View()); }