private void ValidarInformacoesLogin(Usuario UsuarioBanco, Usuario Usuario)
        {
            if (UsuarioBanco == null)
            {
                throw new ValidationException(Usuario, "Usuário inexistente no sistema!");
            }

            if (Criptography.GetHash(Usuario.Senha, UsuarioBanco.Salt) != UsuarioBanco.Senha)
            {
                throw new ValidationException(Usuario, "Senha inválida!");
            }
        }
        public async Task <Result <UsuarioViewModel> > AlterarSenha(AlterarSenhaViewModel Usuario)
        {
            return(await ProcessmentCommand.Execute <UsuarioViewModel>(async() =>
            {
                var Id = Convert.ToInt32(Principal.GetClaim("Id"));
                var UsuarioBanco = await Repository.GetById(new Usuario {
                    Id = Id
                });

                if (Usuario.NovaSenha != Usuario.ConfirmacaoNovaSenha)
                {
                    throw new ValidationException(Usuario, "Senhas informadas não são iguais!");
                }

                ValidarInformacoesLogin(UsuarioBanco, new Usuario {
                    Senha = Usuario.Senha
                });

                UsuarioBanco.Senha = Criptography.GetHash(Usuario.NovaSenha, UsuarioBanco.Salt);
                await Repository.Update(UsuarioBanco);
                return null;
            }));
        }
示例#3
0
 public void ResetarSenha()
 {
     AlterarSenha = true;
     Senha        = Criptography.GetHash($"PortalChamados{DateTime.Now.Year}", Salt);
 }