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; } } }
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); } }
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"); } } }
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!!"); } } }
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); } } }
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; } } } }