private UsuarioViewModel VerificaLoginSenha(LoginMySql objeto)
        {
            try
            {
                UsuarioViewModel retorno = null;

                // efetuar login
                UsuarioMySql busca = _usuarioMySqlRepository.ObterUsuarioLogin(new UsuarioMySql
                {
                    Login = objeto.Usuario,
                    Senha = objeto.Senha
                });

                // objeto retorno
                retorno = new UsuarioViewModel
                {
                    Ativo              = busca.Ativo,
                    ContaGoogle        = busca.ContaGoogle,
                    DataCriacao        = busca.DataCriacao,
                    DataEdicao         = busca.DataEdicao,
                    Id                 = busca.Id,
                    Login              = busca.Login,
                    ResponsavelCriacao = busca.ResponsavelCriacao,
                    ResponsavelEdicao  = busca.ResponsavelEdicao,
                    Senha              = busca.Senha,
                };

                if (busca == null)
                {
                    return(retorno);
                }

                // comparar senha
                string hashGerado = CriptoHashSha256.GetSha256Hash(objeto.Senha);
                if (hashGerado == busca.Senha)
                {
                    return(retorno);
                }

                return(retorno);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Exemple #2
0
        public void Adicionar(UsuarioMySqlViewModel obj, bool eContaGoogle)
        {
            obj.Senha = string.IsNullOrWhiteSpace(obj.Senha) ? Guid.NewGuid().ToString().Substring(0, 5) : obj.Senha;

            _usuarioMySqlRepository.Adicionar(new UsuarioMySql
            {
                Id                 = obj.Id,
                ContaGoogle        = eContaGoogle,
                Ativo              = true,
                DataCriacao        = DateTime.Now,
                DataEdicao         = DateTime.Now,
                Login              = obj.Login,
                ResponsavelCriacao = obj.ResponsavelCriacao,
                ResponsavelEdicao  = obj.ResponsavelEdicao,
                Senha              = CriptoHashSha256.GetSha256Hash(obj.Senha)
            });
        }
Exemple #3
0
        //add here any custom service method or override genericasync service method
        //...
        public async Task <Usuario> VerificaLoginSenha(Login login)
        {
            try
            {
                var usuario = _usuarioRepository.PegarUsuarioLogin(x => x.Login == login.Usuario);

                if (usuario != null)
                {
                    string hashGerado = CriptoHashSha256.GetSha256Hash(login.Senha);
                    if (hashGerado == usuario.Senha)
                    {
                        return(usuario);
                    }
                }

                return(null);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Exemple #4
0
        public async Task <InserirSenhaResultadoViewModel> TrocarSenha(Guid idRecuperarSenha, string novaSenha)
        {
            var senha = _recuperarSenhaRepository.GetSingleOrDefault(x => x.Id == idRecuperarSenha);

            InserirSenhaResultadoViewModel inserirSenhaResultado = new InserirSenhaResultadoViewModel();

            if (senha == null)
            {
                ExibicaoMensagemViewModel exibicaoMensagemErro = new ExibicaoMensagemViewModel()
                {
                    Cabecalho     = "Recuperação de senha não está válida.",
                    MensagemCurta = "Recuperação de senha não está válida.",
                    Detalhes      = "A solicitação de senha não foi encontrada.",
                    StatusCode    = StatusCodes.Status204NoContent
                };

                inserirSenhaResultado.Resultado        = false;
                inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemErro;

                return(inserirSenhaResultado);
            }

            if (!senha.Ativo)
            {
                ExibicaoMensagemViewModel exibicaoMensagemErro = new ExibicaoMensagemViewModel()
                {
                    Cabecalho     = "Recuperação de senha não está válida.",
                    MensagemCurta = "Recuperação de senha não está válida.",
                    Detalhes      = "A solicitação de senha não está ativa.",
                    StatusCode    = StatusCodes.Status400BadRequest
                };

                inserirSenhaResultado.Resultado        = false;
                inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemErro;

                return(inserirSenhaResultado);
            }

            if (senha.DataExpiracao < DateTime.Now)
            {
                ExibicaoMensagemViewModel exibicaoMensagemErro = new ExibicaoMensagemViewModel()
                {
                    Cabecalho     = "Recuperação de senha expirada.",
                    MensagemCurta = "Recuperação de senha expirada.",
                    Detalhes      = "A solicitação de senha está expirada.",
                    StatusCode    = StatusCodes.Status404NotFound
                };

                inserirSenhaResultado.Resultado        = false;
                inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemErro;

                return(inserirSenhaResultado);
            }

            var usuario = _usuarioRepository.GetSingleOrDefault(x => x.Login == senha.Pessoa.Email);

            usuario.Senha = CriptoHashSha256.GetSha256Hash(novaSenha);

            senha.Ativo = false;

            _usuarioRepository.Update(usuario);
            _recuperarSenhaRepository.Update(senha);
            _usuarioRepository.Save();
            _recuperarSenhaRepository.Save();

            ExibicaoMensagemViewModel exibicaoMensagemSucesso = new ExibicaoMensagemViewModel()
            {
                Cabecalho     = "Alteração de senha concluida",
                MensagemCurta = "Alteração de senha concluída",
                Detalhes      = "Sua nova senha foi inserida com sucesso.",
                StatusCode    = StatusCodes.Status200OK
            };

            inserirSenhaResultado.Resultado        = true;
            inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemSucesso;

            return(inserirSenhaResultado);
        }