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!"));
        }
示例#3
0
        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);
        }
示例#4
0
        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());
        }