private Recuperarsenha ModelToEntity(RecuperarSenhaModel model, Recuperarsenha entity) { entity.Id = model.Id; entity.Token = model.Token; entity.InicioToken = model.InicioToken; entity.FimToken = model.FimToken; entity.EhValido = model.EhValido; entity.IdUsuario = model.IdUsuario; return(entity); }
public string MessageEmail(RecuperarSenhaModel senhaModel, int finalidadeEmail) { var uri = new Uri("https://www.monitorasus.ufs.br/"); var site = "<a href='" + uri.Scheme + "://" + uri.Host + ":" + uri.Port; var link = site + "/Login/RecuperarSenha/"; switch (finalidadeEmail) { case 0: return("<html><body>" + "Foi solicitado a recuperação de sua senha para acesso ao MonitoraSUS.<br>" + "Você possui 24 horas para fazer a alteração da sua senha de acesso.<br>" + link + senhaModel.Token + "'>Clique aqui mudar a senha</a>" + RodapeEmail()); case 1: return("<html><body>" + "Parabéns! Seu cadastro foi aprovado para acesso ao MonitoraSUS.<br>" + "Você possui 24 horas para criar sua senha de acesso ao sistema.<br>" + link + senhaModel.Token + "'>Clique aqui para criar sua senha.</a>" + RodapeEmail()); case 2: return("<html><body>" + "Parabéns! Seu cadastro foi ativado para acesso ao MonitoraSUS. <br>" + "Acesse o sistema " + site + "'>aqui</a>." + "<br>Caso não lembre da sua senha de acesso, você possui 24 horas para criar uma nova senha.<br>" + link + senhaModel.Token + "'>Clique aqui para criar uma nova senha.</a>" + RodapeEmail()); case 4: return("<html><body>" + "Obrigado por solicitar o cadastro no MonitoraSUS! <br/>" + "O sistema permite gerenciar os testes virais realizados pela gestão e fazer o monitoramento dos pacientes <br/>" + "residentes no município que foram positivados e notificados pelo MonitoraSUS. <br/>" + "Seu cadastro foi aprovado com perfil de ADMINISTRADOR do Município ou Estado solicitado.<br/>" + "Acesse o sistema através da url www.monitorasus.ufs.br e consulte o manual do sistema." + "Entraremos em contato para agendarmos uma apresentação das funcionalidades." + "Você possui 24 horas para criar sua senha de acesso ao sistema.<br>" + link + senhaModel.Token + "'>Clique aqui para criar sua senha.</a>" + RodapeEmail()); default: return(null); } }
public bool Insert(RecuperarSenhaModel recuperarSenha) { if (recuperarSenha != null) { try { var entity = ModelToEntity(recuperarSenha, new Recuperarsenha()); entity.FimToken = recuperarSenha.InicioToken.AddDays(1); _context.Recuperarsenha.Add(entity); return(_context.SaveChanges() == 1 ? true : false); } catch (Exception e) { throw e.InnerException; } } return(false); }
public async Task <(bool, bool, bool)> GenerateToken(string cpf, int finalidade) { if (Methods.ValidarCpf(cpf)) { var user = _usuarioService.GetByCpf(Methods.RemoveSpecialsCaracts(cpf)); if (user != null) { if (_recuperarSenhaService.UserNotHasToken(user.IdUsuario)) { // Objeto será criado e inserido apenas se o usuario não possuir Tokens validos cadastrados. var recSenha = new RecuperarSenhaModel { Token = Methods.GenerateToken(), InicioToken = DateTime.Now, FimToken = DateTime.Now.AddDays(1), EhValido = Convert.ToByte(true), IdUsuario = user.IdUsuario }; if (_recuperarSenhaService.Insert(recSenha)) { try { await _emailService.SendEmailAsync(user.Email, "MonitoraSUS - Acesso ao Sistema", _usuarioService.MessageEmail(recSenha, finalidade)); return(true, true, true); } catch (Exception ex) { Console.WriteLine("An exception ({0}) occurred.", ex.GetType().Name); Console.WriteLine(" Message:\n{0}", ex.Message); Console.WriteLine(" Stack Trace:\n {0}", ex.StackTrace); throw ex.InnerException; } } return(true, true, false); // Falha na inserção do recuperarSenha } // User válido porém tem token. return(true, false, false); } } return(false, false, false); }