コード例 #1
0
        public async Task <IActionResult> ValidaRecuperacaoSenha(string codigo)
        {
            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));
                }

                return(Response("Usuario encontrado"));
            }
            catch (Exception)
            {
                return(Response("Usuario nao encontrado", false));
            }
        }
コード例 #2
0
        public async Task <ActionResult <Cliente> > Post([FromServices] DataContext context, [FromBody] Cliente model)
        {
            if (ModelState.IsValid)
            {
                model.DataNascimento = DateTime.Now;
                model.Senha          = CriptografiaService.GerarSenhaCriptografa(model.Senha);

                context.Clientes.Add(model);
                await context.SaveChangesAsync();

                return(model);
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
コード例 #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));
            }
        }
コード例 #4
0
        public ActionResult Index()
        {
            if (UsuarioService.VerificaSeOUsuarioEstaLogado() != null)
            {
                var usuario = HttpContext.Request.Cookies["UserCookieAuthentication"];

                long idUsuario        = Convert.ToInt64(CriptografiaService.Descriptografar(usuario.Values["IDUsuario"]));
                var  usuarioRetornado = UsuarioService.RecuperaUsuarioPorId(idUsuario);
                Session["tipoUsuario"] = usuarioRetornado.tipo_usuario;

                var notificacoes = db.Notificacoes
                                   .Where(t => t.idUsuario == idUsuario)
                                   .ToList();

                Session["notificacoes"] = notificacoes.Count.ToString();


                return(View());
            }
            else
            {
                return(View("Index", "Usuarios"));
            }
        }
コード例 #5
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));
            }
        }
コード例 #6
0
 public UsuarioApplicationService()
 {
     _usuarioService      = new UsuarioService();
     _criptografiaService = new CriptografiaService();
 }