示例#1
0
        public async Task <IActionResult> Autenticar(AutenticarDto autenticarDto)
        {
            try
            {
                autenticarDto.Senha = SenhaHashService.CalculateMD5Hash(autenticarDto.Senha);

                var response = await _usuarioRepository.Buscar(x => (x.Email.Equals(autenticarDto.Email) || x.Cpf.Equals(autenticarDto.Email)) && x.Senha.Equals(autenticarDto.Senha) && x.Status.Equals("A"));

                var usuario = _mapper.Map <UsuarioAutDto>(response.FirstOrDefault());

                if (usuario == null)
                {
                    return(Response("Usuário ou senha incorreto!", false));
                }

                usuario.DadosComp = string.IsNullOrEmpty(response.Select(x => x.Rua).FirstOrDefault()) || response.Select(x => x.CongregacaoId).FirstOrDefault() == 0 ? false : true;

                var geraLog = new GeraLogUsuario(_logUsuarioRepository, _usuarioRepository, usuario.Id).Gerar("Autenticar", "Logou no sistema").Result;

                var token = TokenService.GenerateToken(usuario, _configuration);

                return(Response(new { usuario, token }));
            }
            catch (Exception ex)
            {
                return(ResponseErro(ex));
            }
        }
示例#2
0
        public async Task <IActionResult> RecuperarSenha(string emailOuCpf)
        {
            try
            {
                var response = await _usuarioRepository.Buscar(x => (x.Email.Equals(emailOuCpf) || x.Cpf.Equals(emailOuCpf)) && x.Status.Equals("A"));

                var usuario = response.FirstOrDefault();

                if (usuario == null)
                {
                    return(Response("Email ou senha não cadastrado no banco de dados!", false));
                }

                var possuiEmail = true;

                if (string.IsNullOrEmpty(usuario.Email))
                {
                    possuiEmail   = false;
                    usuario.Email = urlEmailConfig;
                }

                var linkAcesso = $"http://igrejadecristobrasil.com.br/app/reset/{ModificaValor(CriptografiaService.Criptografar(usuario.Id.ToString()))}";
                var titulo     = "Empower School";
                var cabecalho  = $"RECUPERAR SENHA - {usuario.Nome.ToUpper()}";
                var mensagem   = $"Olá {usuario.Nome} <br /> <br /> <a href=\"{linkAcesso}\">Clique aqui</a> para renovar sua acesso. <br /> <br /> Att,<br /> Equipe Empower Schoool ";

                var enviaEmail = new EnviaEmail(_parametroSistemaRepository);

                var retorno = await enviaEmail.Enviar(usuario.Email, cabecalho, mensagem, titulo);

                if (!retorno)
                {
                    Response("Erro ao enviar email", false);
                }

                var geraLog = new GeraLogUsuario(_logUsuarioRepository, _usuarioRepository, usuario.Id).Gerar("RecuperarSenha", "Solicitour recuperar a senha").Result;

                return(Response(new { mensagem = "Envio com sucesso!", possuiEmail }));
            }
            catch (Exception ex)
            {
                return(ResponseErro(ex));
            }
        }
示例#3
0
        public async Task <IActionResult> ResetarSenha(string codigo, string novaSenha)
        {
            try
            {
                if (string.IsNullOrEmpty(codigo))
                {
                    return(Response("Favor preencher o codigo", false));
                }

                var usuarioId = CriptografiaService.Descriptografar(codigo);

                var buscaUsuario = await _usuarioRepository.ObterPorId(Convert.ToInt32(usuarioId));

                if (buscaUsuario == null)
                {
                    return(Response("Usuario nao encontrado", false));
                }

                buscaUsuario.Senha = SenhaHashService.CalculateMD5Hash(novaSenha);

                var response = await _usuarioRepository.Atualizar(buscaUsuario);

                if (!response)
                {
                    return(Response("Não foi possivel alterar a senha", false));
                }

                var geraLog = new GeraLogUsuario(_logUsuarioRepository, _usuarioRepository, buscaUsuario.Id).Gerar("ResetarSenha", "Solicitour recuperar a senha").Result;

                return(Response("Alteração realizada com sucesso."));
            }
            catch (Exception ex)
            {
                return(ResponseErro(ex));
            }
        }