protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { _sesion = new Sesion(); _cookieActual = _sesion.verificarValidez(Request.Cookies["PS"]); if (_cookieActual == null) // Si la cookie expira redirecciona a la pantalla de Login Response.Redirect("../Autentificacion/Login.aspx"); else // Volver a crear la cookie en el cliente, con el nuevo tiempo de expiración Response.SetCookie(_cookieActual); _controladorPEUL = new ControladorPEUL(); String grupoUsuario = _sesion.obtenerGrupoUsuario(_cookieActual); if ((grupoUsuario.Equals("prof")) || (grupoUsuario.Equals("users")) || (grupoUsuario.Equals("ests")) || (grupoUsuario.Equals("operadores"))) // Reportar si un usuario autenticado intenta hacer ingreso a una página que no tiene permiso { Notificacion notificacion = new Notificacion(); notificacion.enviarCorreo("Se ha intentado realizar un acceso no permitido por parte del usuario " + _sesion.obtenerLoginUsuario(_cookieActual) + " a la página de ConsultarReporteUso.aspx", "*****@*****.**", "Violación de Seguridad"); Response.Redirect("../Compartido/AccesoDenegado.aspx"); } _listaLaboratorios = _controladorPEUL.obtenerLaboratorios(); // Obtener laboratorios if (_listaLaboratorios != null) { _ddlLaboratorios.Items.Add("Seleccionar"); for (int i = 0; i < _listaLaboratorios.Count; i++) _ddlLaboratorios.Items.Add(_listaLaboratorios.ElementAt(i).ElementAt(1).ToString()); // Llenar el _ddlLaboratorios con los nombres de los labs } else { _ddlLaboratorios.Items.Clear(); _ddlLaboratorios.Items.Add("No hay laboratorios disponibles"); _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Se ha producido un error al obtener los laboratorios."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } }
private List<List<object>> _usoLaboratorios; //Lista que contiene el uso de cada laboratorio #endregion Fields #region Methods protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) // Solo cargar los datos la primera vez que la página ha sido cargada { _sesion = new Sesion(); _cookieActual = _sesion.verificarValidez(Request.Cookies["PS"]); if (_cookieActual == null) // Si la cookie expira redirecciona a la pantalla de Login Response.Redirect("../Autentificacion/Login.aspx"); // else // Volver a crear la cookie en el cliente, con el nuevo tiempo de expiración Response.SetCookie(_cookieActual); _errorCarga = -1; _controlador = new ControladorPEUL(); string grupoUsuario = _sesion.obtenerGrupoUsuario(Request.Cookies["PS"]); if ((grupoUsuario.Equals("prof")) || (grupoUsuario.Equals("users")) || (grupoUsuario.Equals("ests"))) { _controlador.insertarBitacoraError("Se ha intentado realizar un acceso no permitido por parte del usuario " + _sesion.obtenerLoginUsuario(Request.Cookies["PS"]) + " a la página de RegistroUsoLaboratorio.aspx", ""); Response.Redirect("../Compartido/AccesoDenegado.aspx"); } _laboratorios = _controlador.obtenerLaboratorios(); //Obtener los laboratorios if (_laboratorios != null) foreach (List<object> lab in _laboratorios) _ddlLaboratorio.Items.Add(lab[1].ToString()); //Inserta los nombres de los laboratorios en _ddlLaboratorio else _errorCarga = 0; _estados = _controlador.obtenerEstadoLaboratorio(); //Obtener los estados de los laboratorios if (_estados.Count > 0) foreach (List<object> estado in _estados) _ddlEstado.Items.Add(estado[1].ToString()); //Insertar las descripciones de los estados en _ddlEstado else { if (_errorCarga == 0) _errorCarga = 2; else _errorCarga = 1; } _usoLaboratorios = _controlador.calcularUsoActual(); //Obtener los datos del uso de los laboratorios if (_usoLaboratorios != null) cargarDatos(_usoLaboratorios); //Llama al método que se encarga de cargar los datos en el grid y en el grafico else { if (_errorCarga == 2) _errorCarga = 4; else _errorCarga = 3; } switch (_errorCarga) //Verificar si hubo algun error { case 0: _ddlLaboratorio.Items.Clear(); _ddlLaboratorio.Items.Add("No hay lugares disponibles"); _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay lugares disponibles."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; break; case 1: _ddlEstado.Items.Clear(); _ddlEstado.Items.Add("No hay estados disponibles"); _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay estados disponibles."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; break; case 2: _ddlLaboratorio.Items.Clear(); _ddlLaboratorio.Items.Add("No hay lugares disponibles"); _ddlEstado.Items.Clear(); _ddlEstado.Items.Add("No hay estados disponibles"); _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay lugares y estados disponibles."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; break; case 3: _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay registro del uso de los laboratorios."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; break; case 4: _ddlLaboratorio.Items.Clear(); _ddlLaboratorio.Items.Add("No hay lugares disponibles"); _ddlEstado.Items.Clear(); _ddlEstado.Items.Add("No hay estados disponibles"); _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay lugares, estados y registro de uso de los laboratorios disponibles."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; break; } } } catch (Exception ex) { _controlador = new ControladorPEUL(); _controlador.insertarBitacoraError(ex.ToString(), ""); } }