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);
        }
Example #2
0
        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);
 }
Example #4
0
        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);
        }