Ejemplo n.º 1
0
        public ActionResult UpdateSession(string Token)
        {
            try{
                if (!string.IsNullOrEmpty(Token))
                {
                    GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FirstOrDefault(new { Token });
                    if (usuario == null)
                    {
                        return(Json("Informe email e senha no login"));
                    }

                    if (!usuario.Ativo)
                    {
                        throw new Exception("Usuário com acesso bloqueado.<br /> Clique em solicitar novo acesso!");
                    }

                    usuario.Comum = Comum.Find(usuario.Cod_Comum).Nome;

                    UserSession.SetUsuario(Request.HttpContext, usuario);
                    return(Json("ok"));
                }
                else
                {
                    return(Json("Informe email e senha no login"));
                }
            }catch (Exception ex) {
                return(Json(ex.Message));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Login(string Email, string Senha)
        {
            try
            {
                GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByEmail(Email);
                if (usuario != null)
                {
                    if (Encryption.md5(Senha) != usuario.Senha)
                    {
                        throw new Exception("Senha incorreta");
                    }

                    if (!usuario.Ativo)
                    {
                        throw new Exception("Usuário com acesso bloqueado.<br /> Clique em solicitar novo acesso!");
                    }

                    usuario.Senha = "";
                    usuario.Token = Guid.NewGuid().ToString();
                    usuario.UpdateToken();
                    UserSession.SetUsuario(Request.HttpContext, usuario);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    throw new Exception("Email não cadastrado");
                }
            }
            catch (Exception ex)
            {
                ViewBag.error = ex.Message;
                return(View());
            }
        }
Ejemplo n.º 3
0
        public ActionResult Cadastrar(string Nome = "", string Email = "", int Cod_Comum = 0, string Comum = "", string Cidade = "", string Estado = "", string Token = "")
        {
            try{
                if (Encryption.md5(Nome + Email + Comum) != Token)
                {
                    throw new Exception("Token inválido!");
                }

                GEM.Repository.Comum comum = GEM.Repository.Comum.FirstOrDefault(new { Nome = Comum, Cidade, Estado });

                if (Cod_Comum == 0)
                {
                    if (comum == null)
                    {
                        comum        = new GEM.Repository.Comum();
                        comum.Nome   = Comum;
                        comum.Cidade = Cidade;
                        comum.Estado = Estado;
                        comum.Save();
                    }
                }
                else
                {
                    comum = GEM.Repository.Comum.Find(Cod_Comum);
                }

                GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByEmail(Email);

                if (usuario == null)
                {
                    usuario              = new Usuario();
                    usuario.Nome         = Nome;
                    usuario.Email        = Email;
                    usuario.Cod_Comum    = comum.Cod_Comum;
                    usuario.Comum        = comum.Nome;
                    usuario.Instrutor    = true;
                    usuario.Oficializado = true;
                    usuario.Ativo        = true;
                    usuario.Save();

                    UsuarioPermissao permissao = UsuarioPermissao.Find(usuario.Cod_Usuario);
                    permissao.Instrutor    = true;
                    permissao.Oficializado = true;
                    permissao.Ativo        = true;
                    permissao.Update();
                }

                EnviarConvite(Email);

                GEM.Helpers.UserSession.SetUsuario(Request.HttpContext, usuario);

                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex) {
                return(Content(ex.Message));
            }
        }
Ejemplo n.º 4
0
 public ActionResult RecuperarSenha(string id)
 {
     GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByRecuperarSenha(id);
     if (usuario == null)
     {
         ViewBag.error = "Código de recuperação inválido!";
     }
     return(View(usuario));
 }
Ejemplo n.º 5
0
 public ActionResult Impersonate(string Email)
 {
     try{
         GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByEmail(Email);
         if (!usuario.Ativo)
         {
             throw new Exception("Usuário com acesso bloqueado.<br /> Clique em solicitar novo acesso!");
         }
         UserSession.SetUsuario(Request.HttpContext, usuario);
         return(RedirectToAction("Index", "Home"));
     }
     catch (Exception ex) {
         ViewBag.error = ex.Message;
         return(View());
     }
 }
Ejemplo n.º 6
0
        public ActionResult EnviarConvite(string Email)
        {
            try
            {
                GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByEmail(Email);

                if (usuario == null)
                {
                    throw new Exception("Email não cadastrado");
                }

                usuario.RecuperarSenha = Encryption.md5(usuario.Cod_Usuario.ToString() + usuario.Senha);
                usuario.UpdateRecuperarSenha();

                System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls;
                //http://myaccount.google.com/u/2/lesssecureapps?pli=1&pageId=none
                Helpers.Mail mail = new Helpers.Mail("smtp.gmail.com", "*****@*****.**", "GEM@ccb01", true, true, 587);
                string       html = string.Format(@"<html>
                    <body style='font-family: sans-serif;background-color: #f8f9fa;'>
                        <table c width='100%' style='border: solid 1px #189999;'>
                            <tr>
                                <td style='background-color: #189999; color: #fff; padding: 20px 10px;'>Músicos - CCB - Convite de acesso ao sistema</td>
                            </tr>
                            <tr>
                                <td style='padding: 10px;'>
                                    <span>Seja muito bem vindo(a) ao sistema criado para os Músicos CCB! <br />Para acessar o sistema Músicos CCB crie uma nova senha clicando no link abaixo ou copie e cole este link no seu navegador</span>
                                    <br /><br />
                                    <a href='{0}/home/RecuperarSenha/{1}' style='background-color: #495057; color:#fff;padding: 5px;border-radius: 5px;' hre='#'>{0}/home/RecuperarSenha/{1}</a> 
                                    <br /><br />
                                </td>
                            </tr>
                        </table>        
                    </body>
                </html>", SITE, usuario.RecuperarSenha);

                mail.SendMail(html, true, new System.Net.Mail.MailAddress("*****@*****.**", "Músicos CCB"), Email, "Músicos - CCB - Convite", null);
                //ViewBag.success = "Email enviado com sucesso!";
                return(Json("ok"));
            }
            catch (Exception ex)
            {
                //ViewBag.error = ex.Message;
                return(Json(ex.Message));
            }
        }
Ejemplo n.º 7
0
        public ActionResult NovaSenha(string id, string Senha, string ConfirmarSenha)
        {
            GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByRecuperarSenha(id);
            if (usuario == null)
            {
                ViewBag.error = "Código de recuperação inválido!";
                return(View("RecuperarSenha", usuario));
            }

            if (Senha == ConfirmarSenha)
            {
                usuario.Senha = Encryption.md5(Senha);
                usuario.UpdateSenha();
                UserSession.SetUsuario(Request.HttpContext, usuario);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ViewBag.error = "A senha e confirmação deverão ser idênticas!";
                return(View("RecuperarSenha", usuario));
            }
        }