public IActionResult RecuperarSenha([FromForm] Models.Colaborador colaborador)
 {
     ModelState.Remove("Email");
     Models.Colaborador colaboradorDB = _colaboradorRepository.ObterColaborador(a => a.Email == colaborador.Email);
     if (colaboradorDB != null)
     {
         try
         {
             DadosRecuperacaoSenha dados = new DadosRecuperacaoSenha();
             dados.ColaboradorId = colaboradorDB.Id;
             dados.Data          = DateTime.Now;
             int verificador = CriarVerificador(colaboradorDB.Id);
             dados.Chave = (verificador * 1000000 + new Random().Next(100000, 999999)) * 10 + colaboradorDB.Id % 10;
             _email.SendEmailRecuperarSenha(colaboradorDB, dados, false);
             _recuperacaoSenhaRepository.Cadastrar(dados);
             TempData["MSG_S"] = "E-mail enviado! Confira sua caixa de entrada";
             return(Redirect("/colaborador/home/login"));
         }
         catch
         {
             ViewData["MSG_E"] = "Oops! Houve um problema no sistema! Tente novamente";
         }
     }
     else
     {
         ViewData["MSG_E"] = "O e-mail não consta em nosso sistema!";
     }
     return(View());
 }
示例#2
0
 public IActionResult RecuperarSenha([FromForm] Models.Cliente cliente)
 {
     ModelState.Remove("Nome");
     ModelState.Remove("Nascimento");
     ModelState.Remove("Sexo");
     ModelState.Remove("CPF");
     ModelState.Remove("Telefone");
     ModelState.Remove("CEP");
     ModelState.Remove("Rua");
     ModelState.Remove("Cidade");
     ModelState.Remove("Bairro");
     ModelState.Remove("Numero");
     ModelState.Remove("Estado");
     ModelState.Remove("Senha");
     ModelState.Remove("ConfirmacaoSenha");
     if (ModelState.IsValid)
     {
         Models.Cliente clienteDB = _clienteRepository.ObterCliente(a => a.Email == cliente.Email);
         if (clienteDB != null)
         {
             try
             {
                 DadosRecuperacaoSenha dados = new DadosRecuperacaoSenha();
                 dados.ClienteId = clienteDB.Id;
                 dados.Data      = DateTime.Now;
                 int verificador = CriarVerificador(clienteDB.Id);
                 dados.Chave = (verificador * 1000000 + new Random().Next(100000, 999999)) * 10 + clienteDB.Id % 10;
                 _gerenciarEmail.SendEmailRecuperarSenha(clienteDB, dados);
                 _recuperacaoSenhaRepository.Cadastrar(dados);
                 TempData["MSG_S"] = "E-mail enviado! Confira sua caixa de entrada";
                 return(Redirect("/cliente/home/login"));
             }
             catch
             {
                 ViewData["MSG_E"] = "Oops! Houve um problema no sistema! Tente novamente";
             }
         }
         else
         {
             ViewData["MSG_E"] = "O e-mail não consta em nosso sistema!";
         }
     }
     return(View());
 }