Esempio n. 1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         using (HabProfDBContainer cxt = new HabProfDBContainer())
         {
             Persona admin = Session["UsuarioLogueado"] as Persona;
             lbl_usuario.Text = admin.persona_nomyap;
         }
     }
 }
Esempio n. 2
0
        protected void btn_acceder_con_perfil_ServerClick(object sender, EventArgs e)
        {
            int id_usuario = Convert.ToInt32(hidden_id_usuario.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Persona usr = cxt.Personas.FirstOrDefault(pp => pp.persona_id == id_usuario);

                Perfil_usuario perfil = (Perfil_usuario)Enum.Parse(typeof(Perfil_usuario), ddl_perfil.SelectedValue);

                Ingresar(perfil, usr);
            }
        }
Esempio n. 3
0
        protected void btn_recuperar_contraseña_Click(object sender, EventArgs e)
        {
            Validate("pass");
            if (IsValid)
            {
                using (HabProfDBContainer cxt = new HabProfDBContainer())
                {
                    string     clave = Request.QueryString["clave"];
                    Envio_mail envio = cxt.Envio_mails.FirstOrDefault(eemm => eemm.envio_respuesta_clave == clave);
                    Persona    p_cxt = cxt.Personas.FirstOrDefault(pp => pp.persona_id == envio.persona_id);

                    p_cxt.persona_clave = Cripto.Encriptar(tb_pass.Text);
                    cxt.SaveChanges();
                    MessageBox.Show(this, "La contraseña se modificó correctamente", MessageBox.Tipo_MessageBox.Success, "Éxito!", "default.aspx");
                }
            }
        }
Esempio n. 4
0
        protected void btn_recuperar_clave_ServerClick(object sender, EventArgs e)
        {
            string usuario_o_contraseña = tb_recuperar_clave.Value;

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Persona p_cxt = cxt.Personas.FirstOrDefault(pp => pp.persona_usuario == usuario_o_contraseña || pp.persona_email == usuario_o_contraseña);

                if (p_cxt != null && p_cxt.persona_email_validado)
                {
                    Envio_mail registro_envio_mail = new Envio_mail()
                    {
                        persona_id            = p_cxt.persona_id,
                        envio_fecha_hora      = DateTime.Now,
                        envio_email_destino   = p_cxt.persona_email, //de haber mas de un destinatario separar por coma Ej: mail + "," + mail2 + "," + mail3
                        envio_respuesta_clave = Guid.NewGuid().ToString(),
                        envio_tipo            = MiEmail.tipo_mail.recupero_contraseña.ToString()
                    };

                    cxt.Envio_mails.Add(registro_envio_mail);
                    cxt.SaveChanges();

                    MiEmail mail = new MiEmail(registro_envio_mail);

                    if (mail.Enviar_mail())
                    {
                        MessageBox.Show(this, "Se envió un correo con las instrucciones para recuperar su contraseña", MessageBox.Tipo_MessageBox.Success);
                    }
                    else
                    {
                        MessageBox.Show(this, "Ocurrió un error en el envio del correo", MessageBox.Tipo_MessageBox.Warning, "Oops!!");
                    }
                }
                else
                {
                    MessageBox.Show(this, "No existe el usuario o el correo no está validado", MessageBox.Tipo_MessageBox.Danger, "Oops!!");
                }
            }
        }
Esempio n. 5
0
        protected void btn_ingresar_ServerClick(object sender, EventArgs e)
        {
            RevisarCrearPrimerosDatos();

            string usuario = form_username.Value;
            string clave   = Cripto.Encriptar(form_password.Value);

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Persona usr = cxt.Personas.FirstOrDefault(pp => pp.persona_usuario == usuario && pp.persona_clave == clave);

                if (usr != null)
                {
                    Session["UsuarioLogueado"] = usr;
                    int cantidad_perfiles = 0;
                    cantidad_perfiles = cantidad_perfiles + (usr.Administrador != null ? 1 : 0);
                    cantidad_perfiles = cantidad_perfiles + (usr.Director != null ? 1 : 0);
                    cantidad_perfiles = cantidad_perfiles + (usr.Tesista != null ? 1 : 0);
                    cantidad_perfiles = cantidad_perfiles + (usr.Jurado != null ? 1 : 0);

                    if (cantidad_perfiles > 1)
                    {
                        lbl_bienvenida_perfil.Text = "Bienvenido " + usr.persona_nomyap;
                        hidden_id_usuario.Value    = usr.persona_id.ToString();

                        ddl_perfil.Items.Clear();

                        if (usr.Administrador != null)
                        {
                            ddl_perfil.Items.Add(new ListItem()
                            {
                                Text = Perfil_usuario.Administrador.ToString(), Value = Perfil_usuario.Administrador.ToString()
                            });
                        }

                        if (usr.Director != null)
                        {
                            ddl_perfil.Items.Add(new ListItem()
                            {
                                Text = Perfil_usuario.Director.ToString(), Value = Perfil_usuario.Director.ToString()
                            });
                        }

                        if (usr.Tesista != null)
                        {
                            ddl_perfil.Items.Add(new ListItem()
                            {
                                Text = Perfil_usuario.Tesista.ToString(), Value = Perfil_usuario.Tesista.ToString()
                            });
                        }

                        if (usr.Jurado != null)
                        {
                            ddl_perfil.Items.Add(new ListItem()
                            {
                                Text = Perfil_usuario.Jurado.ToString(), Value = Perfil_usuario.Jurado.ToString()
                            });
                        }

                        string script = "<script language=\"javascript\"  type=\"text/javascript\">$(document).ready(function() { $('#modal_perfil').modal('show')});</script>";
                        ScriptManager.RegisterStartupScript(Page, this.GetType(), "ShowPopUp", script, false);
                    }
                    else
                    {
                        if (usr.Administrador != null)
                        {
                            Ingresar(Perfil_usuario.Administrador, usr);
                        }

                        if (usr.Director != null)
                        {
                            Ingresar(Perfil_usuario.Director, usr);
                        }

                        if (usr.Tesista != null)
                        {
                            Ingresar(Perfil_usuario.Tesista, usr);
                        }

                        if (usr.Jurado != null)
                        {
                            Ingresar(Perfil_usuario.Jurado, usr);
                        }
                    }
                }
                else
                {
                    MessageBox.Show(this, "Usuario o contraseña incorrecto", MessageBox.Tipo_MessageBox.Info);
                }
            }
        }
Esempio n. 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                MiEmail.tipo_mail tipo_mail = (MiEmail.tipo_mail)Enum.Parse(typeof(MiEmail.tipo_mail), Request.QueryString["tipo_mail"].ToString());
                string            clave     = Request.QueryString["clave"];

                using (HabProfDBContainer cxt = new HabProfDBContainer())
                {
                    Envio_mail envio = cxt.Envio_mails.FirstOrDefault(eemm => eemm.envio_respuesta_clave == clave);

                    if (envio != null)
                    {
                        DateTime ahora            = DateTime.Now;
                        DateTime fecha_hora_envio = envio.envio_fecha_hora;

                        bool correcto = true;

                        //controlo que no haya pasado una hora desde el envio de la solicitud de validacion
                        correcto = correcto && fecha_hora_envio.AddHours(1) > ahora;

                        //controlo que no haya cambiado su mail desde el envio de la solicitud
                        correcto = correcto && envio.envio_email_destino == envio.Persona.persona_email;

                        //controlo que no haya una solicitud posterior para la misma persona
                        int id_ultimo_envio = cxt.Envio_mails.Where(ee => ee.persona_id == envio.persona_id && ee.envio_tipo == envio.envio_tipo).Max(ee => ee.envio_id);
                        correcto = correcto && envio.envio_id == id_ultimo_envio;

                        //controlo que ya no haya sido respondida anteriormente
                        correcto = correcto && envio.envio_respuesta_recibida == null;


                        div_error_generico.Visible               = false;
                        div_recuperar_contraseña.Visible         = false;
                        div_validar_correo_alta_director.Visible = false;
                        div_validar_correo.Visible               = false;

                        if (correcto)
                        {
                            switch (tipo_mail)
                            {
                            case MiEmail.tipo_mail.validacion:
                                div_validar_correo.Visible           = true;
                                envio.Persona.persona_email_validado = true;
                                envio.envio_respuesta_recibida       = DateTime.Now;
                                cxt.SaveChanges();
                                lbl_titulo.Text        = "Su correo ha sido validado!";
                                texto.InnerHtml        = "Listo! Completó los pasos necesarios para la validación del correo: <strong>" + envio.envio_email_destino + "</strong>.<br/>Haga click en el botón para acceder al sistema.";
                                btn_redireccionar.HRef = "~/default.aspx";
                                break;

                            case MiEmail.tipo_mail.recupero_contraseña:
                                div_recuperar_contraseña.Visible = true;
                                envio.envio_respuesta_recibida   = DateTime.Now;
                                cxt.SaveChanges();
                                lbl_recuperar_contraseña.Text        = "Recuperar contraseña";
                                textp_recuperar_contraseña.InnerHtml = "Bienvenido <strong>" + envio.Persona.persona_nomyap + "</strong>, esta teniendo problemas para ingresar? <br/>Para modificar su contraseña complete los siguientes campos y haga click en el botón recuperar.";
                                break;

                            case MiEmail.tipo_mail.alta_director:
                                div_validar_correo_alta_director.Visible = true;
                                envio.Persona.persona_email_validado     = true;
                                envio.envio_respuesta_recibida           = DateTime.Now;
                                cxt.SaveChanges();
                                lbl_titulo_alta_director.Text        = "Bienvenido Director! - Su correo ha sido validado";
                                texto_director.InnerHtml             = "Le damos la bienvenida al sistema, su correo <strong>" + envio.envio_email_destino + "</strong> ha sido validado exitosamente.<br/>Haga click en el botón para acceder al sistema.";
                                btn_redireccionar_alta_director.HRef = "~/default.aspx";
                                break;

                            default:
                                break;
                            }
                        }
                        else
                        {
                            switch (tipo_mail)
                            {
                            case MiEmail.tipo_mail.validacion:
                                div_validar_correo.Visible       = true;
                                div_recuperar_contraseña.Visible = false;
                                div_error_generico.Visible       = false;
                                //se le vencio el tiempo o no es el mismo mail entre que envio la solicitud y entro a validar, caducó asi que tendra que pedir de nuevo la validacion
                                lbl_titulo.Text        = "Validación caducada!";
                                lbl_titulo.ForeColor   = Color.DarkRed;
                                texto.InnerHtml        = "Lamentablemente la validación ha caducado, te tomaste mas tiempo del que podías o fue aprobada anteriormete o modificaste el correo original. Solicita nuevamente un envío de validación a tu correo.-";
                                btn_redireccionar.HRef = "~/default.aspx";
                                MessageBox.Show(this, "El correo que intenta validar fue modificado o la solicitud ha caducado. Solicite nuevamente el envío de una nueva validación.-", MessageBox.Tipo_MessageBox.Danger, "Error al validar correo", "default.aspx");
                                break;

                            case MiEmail.tipo_mail.recupero_contraseña:
                                div_validar_correo.Visible           = false;
                                div_recuperar_contraseña.Visible     = true;
                                div_error_generico.Visible           = false;
                                lbl_recuperar_contraseña.Text        = "Recuperar contraseña - ";
                                textp_recuperar_contraseña.InnerHtml = "La solicitud ha caducado o existe una solicitud más reciente";
                                MessageBox.Show(this, "La solicitud ha caducado o existe una solicitud más reciente.-", MessageBox.Tipo_MessageBox.Danger, "Error", "default.aspx");
                                break;

                            default:
                                break;
                            }
                        }
                    }
                    else
                    {
                        div_validar_correo.Visible       = false;
                        div_recuperar_contraseña.Visible = false;
                        div_error_generico.Visible       = true;
                    }
                }
            }
        }