Exemple #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));
            }
        }
        public async Task <IActionResult> Cadastrar(Usuarios usuario)
        {
            try
            {
                //Valida se usuario já existe no banco
                var verficaCadastro = new Usuarios();

                if (!string.IsNullOrEmpty(usuario.Email))
                {
                    verficaCadastro = _usuarioRepository.Buscar(x => x.Email.ToLower().Equals(usuario.Email.ToLower())).Result.FirstOrDefault();
                }
                else
                {
                    verficaCadastro = _usuarioRepository.Buscar(x => x.Cpf.Equals(usuario.Cpf)).Result.FirstOrDefault();
                }

                if (verficaCadastro != null)
                {
                    return(Response("Cadastro já se encontra na base de dados!", false));
                }

                usuario.Senha = SenhaHashService.CalculateMD5Hash(usuario.Senha);

                //Salva os dados
                var response = await _usuarioRepository.Adicionar(usuario);

                if (response)
                {
                    return(Response(usuario));
                }

                return(Response("Cadastro não realizado", false));
            }
            catch (Exception ex)
            {
                return(ResponseErro(ex));
            }
        }