Ejemplo n.º 1
0
        public RecuperarSenhaResposta RecuperarSenha(RecuperarSenhaRequisicao requisicao)
        {
            var resposta = new RecuperarSenhaResposta();

            try
            {
                var pessoa = _pessoaRepositorio.ObterPeloNomeDeUsuario(requisicao.NomeDoUsuario);
                if (pessoa != null)
                {
                    var senha = DateTime.Now.ToString("MddYYffffmmss");
                    pessoa.Usuario.AlterarSenha(Crypto.HashPassword(senha));
                    var servicoDeEmail = new ServicoDeEmail(pessoa.Usuario.NomeDeUsuario);
                    servicoDeEmail.EnviarEmail("Acesso Painel de Controle - Recuperar Senha",
                                               String.Format(@"Prezado usuário, <br /><br /><br />Sua nova senha para utilização do Painel de Controle.<br /><br />O endereço é: http://www.integramedical.com.br/paineldecontrole <br />Seu login é: {0}<br />Sua senha é: {1}<br /><br /><br />Atenciosamente, <br /><br />Íntegra Medical<br />(11) 5054-9199<br />[email protected]", requisicao.NomeDoUsuario, senha));
                    _unitOfWork.Commit();
                    resposta.Sucesso = true;
                }
                else
                {
                    resposta.Erros.Add(new RegraDeNegocioBase("Usuário não encontrado!"));
                }
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }
Ejemplo n.º 2
0
        public ActionResult RecuperarSenha(LoginViewModel model)
        {
            var requisicao = new RecuperarSenhaRequisicao
            {
                NomeDoUsuario = model.NomeDeUsuario
            };
            var resposta = _pessoaServicoDeAplicacao.RecuperarSenha(requisicao);

            if (!resposta.Sucesso)
            {
                ViewBag.HasError = true;
                var mensagem = string.Empty;
                resposta.Erros.ForEach(it => { mensagem += it.Mensagem + Environment.NewLine; });
                Error(mensagem);
            }
            else
            {
                Success("Uma nova senha foi enviada para seu email!");
            }
            return(RedirectToAction("Login"));
        }