Example #1
0
        public ActionResult Index(string alertSuccess)
        {
            //var usuario = new UsuarioDTO();

            //usuario.NomeUsuario = "fernanda";
            //usuario.Email = "*****@*****.**";
            //usuario.Senha = "123456";
            //usuario.Nome = "Fernanda Rodrigues Ferreira";
            //usuario.Cpf = "03350980104";
            //usuario.Endereco = "Rua 50";
            //usuario.Complemento = "Edifício Espanha";
            //usuario.Numero = "66";
            //usuario.Bairro = "Castelo Branco";
            //usuario.Cidade = "Goiânia";
            //usuario.Estado = eEstado.GO;
            //usuario.Cep = "74410080";
            //usuario.Telefone = "6236227333";
            //usuario.Celular = "6281300989";
            //usuario.Sexo = eSexo.Feminino;
            //usuario.Ativo = true;
            //usuario.TipoUsuario = eTipoUsuario.Administrador;
            //_usuarioService.AddUsuario(usuario);


            if (ControladorDeSessao.EstaAutenticado())
            {
                return(RedirectToAction("Inicio"));
            }

            FormsAuthentication.SignOut();
            ViewBag.AlertSuccess = alertSuccess;

            return(View());
        }
Example #2
0
        public ActionResult Entrar(string returnUrl, string alertSuccess)
        {
            if (Request.IsAjaxRequest())
            {
                ViewBag.ReturnUrl = returnUrl;
                return(View("_Relogar"));
            }

            if (ControladorDeSessao.EstaAutenticado())
            {
                return(RedirectToAction("Index", "Home"));
            }

            var cookieValue = CookieManager.GetCookieValue("lembrarme");

            if (!string.IsNullOrWhiteSpace(cookieValue))
            {
                ViewBag.Usuario = cookieValue;
                ViewBag.Checked = "checked=checked";
            }

            ViewBag.AlertSuccess = alertSuccess;

            return(View());
        }
Example #3
0
        public ActionResult Sair()
        {
            ControladorDeSessao.Desautenticar();
            Session.Clear();

            return(RedirectToAction("Index"));
        }
Example #4
0
 public ActionResult Editar()
 {
     try
     {
         var usuario = _usuarioService.FindUsuario(ControladorDeSessao.GetUsuario().Id);
         return(View(usuario));
     }
     catch (Exception ex)
     {
         return(View("Error", ex));
     }
 }
Example #5
0
 public ActionResult AlterarSenha()
 {
     try
     {
         var usuarioDTO = _usuarioService.FindUsuario(ControladorDeSessao.GetUsuario().Id);
         return(View(usuarioDTO));
     }
     catch (Exception ex)
     {
         return(View("Error", ex));
     }
 }
Example #6
0
        public ActionResult Sair()
        {
            try
            {
                ControladorDeSessao.Desautenticar();
            }
            catch (Exception ex)
            {
                TratamentoErro.Tratamento(this, ex);
            }

            return(RedirectToAction("Entrar"));
        }
Example #7
0
        public void AlterarSenha(string senhaAtual, string novaSenha, string confirmaNovaSenha)
        {
            try
            {
                var usuario = _usuarioRepository.Get(ControladorDeSessao.GetUsuario().Id);
                if (usuario == null)
                {
                    throw new Exception("Usuario da sessao nao encontrado.");
                }

                if (string.IsNullOrWhiteSpace(senhaAtual))
                {
                    throw new ApplicationValidationErrorsException("Informe a senha atual.");
                }

                if (usuario.Senha != senhaAtual)
                {
                    throw new ApplicationValidationErrorsException("A senha atual está incorreta.");
                }

                if (string.IsNullOrWhiteSpace(novaSenha))
                {
                    throw new ApplicationValidationErrorsException("Informe a nova senha.");
                }

                if (novaSenha != confirmaNovaSenha)
                {
                    throw new ApplicationValidationErrorsException("A nova senha e a confirmação da nova senha não conferem.");
                }

                if (usuario.Senha == novaSenha)
                {
                    throw new ApplicationValidationErrorsException("A nova senha não pode ser igual a senha atual.");
                }

                usuario.Senha = senhaAtual;
                _usuarioRepository.Commit();
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
        public UsuarioDTO UpdatePerfilUsuario(UsuarioDTO usuarioDTO)
        {
            try
            {
                if (usuarioDTO == null)
                {
                    throw new ArgumentNullException("usuarioDTO");
                }

                var persistido = _usuarioRepository.Get(ControladorDeSessao.GetUsuario().Id);
                if (persistido == null)
                {
                    throw new Exception("Usuario não encontrado.");
                }

                var corrente = UsuarioFactory.CreateUsuario(
                    persistido.NomeUsuario,
                    usuarioDTO.Email,
                    persistido.Senha,
                    usuarioDTO.Nome,
                    persistido.Cpf,
                    usuarioDTO.Endereco,
                    usuarioDTO.Complemento,
                    usuarioDTO.Numero,
                    usuarioDTO.Bairro,
                    usuarioDTO.Cidade,
                    usuarioDTO.Estado,
                    usuarioDTO.Cep,
                    usuarioDTO.Telefone,
                    usuarioDTO.Celular,
                    usuarioDTO.Sexo,
                    persistido.Ativo,
                    persistido.TipoUsuario,
                    persistido.ClienteId);

                corrente.Id = persistido.Id;

                AlterarUsuario(persistido, corrente);

                var adapter = TypeAdapterFactory.CreateAdapter();
                return(adapter.Adapt <Usuario, UsuarioDTO>(corrente));
            }
            catch (Exception ex)
            {
                throw ManipuladorDeExcecao.TrateExcecao(ex);
            }
        }
Example #9
0
        public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
        {
            bool autenticado = true;

            autenticado = ControladorDeSessao.EstaAutenticado();

            if (autenticado)
            {
                IMethodReturn result = getNext()(input, getNext);
                return(result);
            }
            else
            {
                // TODO: criar tratamento de erro para autenticacao
                return(input.CreateExceptionMethodReturn(new AppException("Usuário não autenticado.")));
            }
        }
Example #10
0
        public ActionResult AlterarSenha(string senhaAtual, string novaSenha, string confirmaNovaSenha)
        {
            try
            {
                _usuarioService.AlterarSenha(senhaAtual, novaSenha, confirmaNovaSenha);
                ViewBag.Sucesso = true;

                var usuarioDTO = _usuarioService.FindUsuario(ControladorDeSessao.GetUsuario().Id);
                return(View(usuarioDTO));
            }
            catch (Exception ex)
            {
                TratamentoErro.Tratamento(this, ex);
                var usuarioDTO = _usuarioService.FindUsuario(ControladorDeSessao.GetUsuario().Id);
                return(View(usuarioDTO));
            }
        }
        public void AlterarSenha(string senhaAtual, string novaSenha, string confirmaNovaSenha)
        {
            try
            {
                var usuario = _usuarioRepository.Get(ControladorDeSessao.GetUsuario().Id);
                if (usuario == null)
                {
                    throw new Exception("Usuario da sessao nao encontrado.");
                }

                if (string.IsNullOrWhiteSpace(senhaAtual))
                {
                    throw new AppException("Informe a senha atual.");
                }


                if (string.IsNullOrWhiteSpace(novaSenha))
                {
                    throw new AppException("Informe a nova senha.");
                }

                if (novaSenha != confirmaNovaSenha)
                {
                    throw new AppException("A nova senha e a confirmação da nova senha não conferem.");
                }

                if (usuario.Senha != Encryption.Encrypt(senhaAtual))
                {
                    throw new AppException("A senha atual está incorreta.");
                }

                if (usuario.Senha == Encryption.Encrypt(novaSenha))
                {
                    throw new AppException("A nova senha não pode ser igual a senha atual.");
                }

                usuario.Senha = Encryption.Encrypt(novaSenha);
                _usuarioRepository.Commit();
            }
            catch (Exception ex)
            {
                throw ManipuladorDeExcecao.TrateExcecao(ex);
            }
        }
Example #12
0
        public void AutenticarUsuario(string email, string senha)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(email))
                {
                    throw new ApplicationValidationErrorsException("Digite o email.");
                }

                if (string.IsNullOrWhiteSpace(senha))
                {
                    throw new ApplicationValidationErrorsException("Digite a senha.");
                }

                var spec    = UsuarioSpecifications.ConsultaEmail(email);
                var usuario = _usuarioRepository.AllMatching(spec).SingleOrDefault();
                if (usuario == null)
                {
                    throw new ApplicationValidationErrorsException("Usuário não encontrado.");
                }

                if (usuario.Senha != senha)
                {
                    throw new ApplicationValidationErrorsException("Senha inválida.");
                }

                var adapter    = TypeAdapterFactory.CreateAdapter();
                var usuarioDTO = adapter.Adapt <Usuario, UsuarioDTO>(usuario);

                ControladorDeSessao.Autenticar(usuarioDTO);
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
        public void AutenticarUsuario(string nomeUsuario, string senha, bool continuarConectado)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(nomeUsuario))
                {
                    throw new AppException("Digite o nome de usuário.");
                }

                if (string.IsNullOrWhiteSpace(senha))
                {
                    throw new AppException("Digite a senha.");
                }

                var spec    = UsuarioSpecifications.ConsultaNomeUsuario(nomeUsuario);
                var usuario = _usuarioRepository.AllMatching(spec).SingleOrDefault();
                if (usuario == null)
                {
                    throw new AppException("Usuário não encontrado.");
                }

                if (usuario.Senha != Encryption.Encrypt(senha))
                {
                    throw new AppException("Senha inválida.");
                }

                if (!usuario.Ativo)
                {
                    throw new AppException("Não foi possível autenticar o usuário. Por favor contate o suporte.");
                }

                //TODO: verificar usuario inadimplente

                ControladorDeSessao.Autenticar(usuario, continuarConectado);
            }
            catch (Exception ex)
            {
                throw ManipuladorDeExcecao.TrateExcecao(ex);
            }
        }
 private string ObtenhaPastaRaiz()
 {
     return(ControladorDeSessao.GetPastaRaiz());
 }