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(); // Inicializar el controlador String grupoUsuario = _sesion.obtenerGrupoUsuario(_cookieActual); if ((grupoUsuario.Equals("prof")) || (grupoUsuario.Equals("users")) || (grupoUsuario.Equals("ests")) || (grupoUsuario.Equals("operadores"))) { 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 GestionLugar.aspx", "*****@*****.**", "Violación de Seguridad"); Response.Redirect("../Compartido/AccesoDenegado.aspx"); } _listaTipoLugar = _controladorPEUL.consultarTipoLugar(); for (int i = 0; i < _listaTipoLugar.Count; i++) // Llenar el drop down de tipos de lugar _ddlTipoLugar.Items.Add(_listaTipoLugar.ElementAt(i).ElementAt(1).ToString()); llenarTablaLugares(); // Llenar el grid de lugares } }
/// <summary> /// Método que se encarga de manejar el evento al crear un nuevo lugar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void _btnCrearLugar_Click(object sender, EventArgs e) { _sesion = new Sesion(); _controladorPEUL = new ControladorPEUL(); _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); if ((_txtCapacidad.Text.Equals("")) || (_txtDescripcion.Text.Equals("")) || (_txtLoginEncargado.Text.Equals("")) || (_txtNombreLugar.Text.Equals("")) || (_ddlTipoLugar.SelectedIndex == 0)) // Verificar que todos los campos han sido especificados { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "Debe especificar todos los campos del formulario"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else // Intentar crea el nuevo lugar { int resultadoCreacion = _controladorPEUL.crearLugar(_txtNombreLugar.Text, _txtLoginEncargado.Text, _txtCapacidad.Text, _txtDescripcion.Text, Convert.ToInt32(_listaTipoLugar.ElementAt(_ddlTipoLugar.SelectedIndex - 1).ElementAt(0)), _sesion.obtenerLoginUsuario(_cookieActual)); if (resultadoCreacion == 1) // Si se pudo crear el lugar { _imgMensaje.ImageUrl = "~/Imagenes/ok.png"; _lblMensaje.Text = "Se ha creado con éxito el lugar"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; _txtDescripcion.Text = ""; _txtCapacidad.Text = ""; _txtLoginEncargado.Text = ""; _txtNombreLugar.Text = ""; _ddlTipoLugar.SelectedIndex = 0; llenarTablaLugares(); } else if (resultadoCreacion == 0) // Hubo error al crear el lugar { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Ha habido un error al crear el lugar"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else // Si el login que se especifica no es encontrado en el LDAP { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay ningún usuario registrado con el login proporcionado"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } }
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(); _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 3: _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay registro del uso de los laboratorios."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; break; } } } catch (Exception ex) { _controlador = new ControladorPEUL(); _controlador.insertarBitacoraError(ex.ToString(), ""); } }
/// <summary> /// Método que se encarga de manejar el evento del botón de consultar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void _btnConsultar_Click(object sender, EventArgs e) { _controladorPEUL = new ControladorPEUL(); _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); if ((_ddlLaboratorios.SelectedIndex == 0) || (_txtFechaInicio.Text.Equals("")) || (_txtFechaFinal.Text.Equals(""))) { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "Debe especificar todos los campos del formulario."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else // Buscar los reportes { _tablaReportes = _controladorPEUL.consultarReportesUso(_listaLaboratorios.ElementAt(_ddlLaboratorios.SelectedIndex-1).ElementAt(0).ToString(), _txtFechaInicio.Text, _txtFechaFinal.Text); if (_tablaReportes == null) { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Ha habido un error al encontrar los reportes de uso de laboratorio."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else if (_tablaReportes.Rows.Count == 0) { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay reportes disponibles."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; _gvwRegistro.Visible = false; } else // Llenar la tabla { _imgMensaje.Visible = false; _lblMensaje.Visible = false; _gvwRegistro.Visible = true; _gvwRegistro.DataSource = _tablaReportes; _gvwRegistro.DataBind(); } } }
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; } } }
/// <summary> /// Método que se encarga de cargar los datos en el grid y en el grafico /// </summary> /// <param name="datosUso">Recibe una lista de listas de objetos con todos los datos del uso de los laboratorios</param> private void cargarDatos(List<List<object>> datosUso) { try { // Crear el data table utilizado por el grafico _dtGrafico = new DataTable("Datos"); _dtGrafico.Columns.Add(new DataColumn("Computadoras")); _dtGrafico.Columns.Add(new DataColumn("Laptops")); _dtGrafico.Columns.Add(new DataColumn("Laboratorio")); //Crear el datatable utilizado por el grid _dtDatosUso = new DataTable("Datos"); _dtDatosUso.Columns.Add(new DataColumn("Laboratorio")); _dtDatosUso.Columns.Add(new DataColumn("Operador")); _dtDatosUso.Columns.Add(new DataColumn("UltimoRegistro")); _dtDatosUso.Columns.Add(new DataColumn("Porcentaje")); _dtDatosUso.Columns.Add(new DataColumn("Comentario")); // Cargar los datatable que utiliza el grid con los datos del uso de los laboratorios y el datatable que utiliza el grafico foreach (List<object> datos in datosUso) { //Llenar datatable utilizado por el grafico _dtGrafico.Rows.Add(datos[4], datos[5], datos[0]); //Llenar datatable utilizado por el grid _dtDatosUso.Rows.Add(datos[0], datos[1], datos[2], Convert.ToInt32(datos[6]) + "%", datos[3]); } //Cargar los datos de la base en el grid _gridUsoLaboratorio.DataSource = _dtDatosUso; _gridUsoLaboratorio.DataBind(); //Cargar los datos de la base en el grafico y definir ejes X y Y _chtUsoLaboratorio.DataSource = _dtGrafico; _chtUsoLaboratorio.Series["Computadoras"].XValueMember = "Laboratorio"; _chtUsoLaboratorio.Series["Computadoras"].YValueMembers = "Computadoras"; _chtUsoLaboratorio.Series["Laptops"].XValueMember = "Laboratorio"; _chtUsoLaboratorio.Series["Laptops"].YValueMembers = "Laptops"; _chtUsoLaboratorio.DataBind(); } catch (Exception ex) { _controlador = new ControladorPEUL(); _controlador.insertarBitacoraError(ex.ToString(), ""); } }
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(), ""); } }
/// <summary> /// Método que se encarga de actualizar los datos del grafico y de la tabla /// </summary> private void actualizarDatos() { try { _controlador = new ControladorPEUL(); _controlador = new ControladorPEUL(); _usoLaboratorios = _controlador.calcularUsoActual(); //Obtener los datos del uso de los laboratorios if (_usoLaboratorios.Count > 0) //Revisa que se hayan obtenido los datos del uso de los laboratorios cargarDatos(_usoLaboratorios); else { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Se ha producido un error al obtener los datos del uso de los laboratorios."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } catch (Exception ex) { _controlador = new ControladorPEUL(); _controlador.insertarBitacoraError(ex.ToString(), ""); } }
protected void _btnRegistrar_Click(object sender, EventArgs e) { try { _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); _controlador = new ControladorPEUL(); List<object> registro = new List<object>(); //Lista que guarda los datos del registro if (_ddlLaboratorio.SelectedIndex != 0) //Revisa que se haya indicado el laboratorio en el cual se va a realizar el registro { registro.Add(_laboratorios[_ddlLaboratorio.SelectedIndex -1][0]); registro.Add(_estados[_ddlEstado.SelectedIndex][0]); if ((!_txtCantidadUsuarios.Text.Equals("")) && (!_txtCantidadLaptops.Text.Equals(""))) //Revisa que se hayan indicado la cantidad de usuarios y laptops { registro.Add(_txtCantidadUsuarios.Text); registro.Add(_txtCantidadLaptops.Text); registro.Add(_txtComentario.Text); registro.Add(_sesion.obtenerLoginUsuario(Request.Cookies["PS"])); _usoLaboratorios = _controlador.registrarPeul(registro); //Limpia los campos _ddlLaboratorio.SelectedIndex = 0; _ddlEstado.SelectedIndex = 0; _txtCantidadLaptops.Text = ""; _txtCantidadUsuarios.Text = ""; _txtComentario.Text = ""; _imgMensaje.Visible = false; _lblMensaje.Visible = false; if (_usoLaboratorios != null) // Revisa que se hayan obtenido los datos del uso de los laboratorios cargarDatos(_usoLaboratorios); else { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Se ha producido un error al obtener los datos del uso de los laboratorios."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } else { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "Tiene que indicar la cantidad de usuarios en las computadoras y laptops"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } else { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "Tiene que especificar primero un laboratorio"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } catch (Exception ex) { _controlador = new ControladorPEUL(); _controlador.insertarBitacoraError(ex.ToString(), ""); } }
/// <summary> /// Método que se encarga de llenar el grid de lugares /// </summary> private void llenarTablaLugares() { _controladorPEUL = new ControladorPEUL(); _tablaDatosLugares = _controladorPEUL.obtenerDatosLugares(); if (_tablaDatosLugares == null) { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Los datos de lugares no han podido ser cargados"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else if (_tablaDatosLugares.Rows.Count == 0) { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "No hay lugares registrados en el sistema."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else { _gvwLugares.DataSource = _tablaDatosLugares; _gvwLugares.DataBind(); } }
protected void _btnGuardar_Click(object sender, EventArgs e) { _sesion = new Sesion(); _controladorPEUL = new ControladorPEUL(); _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); String pkLugar = ((Label)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].FindControl("_lblPKLugar")).Text; // PK del lugar que se está editando puesto en una columna oculta String nombreLugar = ((TextBox)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].Cells[1].FindControl("_txtLugares")).Text; String capacidad = ((TextBox)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].FindControl("_txtCapacidad")).Text; String descripcion = ((TextBox)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].FindControl("_txtDescripcion")).Text; String loginEncargado = ((TextBox)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].FindControl("_txtLogin")).Text; DropDownList tipo = (DropDownList)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].FindControl("_ddlTipo"); DropDownList activo = (DropDownList)_gvwLugares.Rows[(int)ViewState["filaSeleccionada"]].FindControl("_ddlestado"); Boolean activoLugar; // Indica si el lugar esta habilitado o no if ((tipo.SelectedIndex != 0) && (!nombreLugar.Equals("")) && (!capacidad.Equals("")) && (!descripcion.Equals("")) && (!loginEncargado.Equals("")) && (activo.SelectedIndex != 0)) { if (activo.SelectedIndex == 1) activoLugar = true; // El lugar esta habilitado else activoLugar = false; // El lugar esta inhabilitado int resultado = _controladorPEUL.modificarLugar(pkLugar, nombreLugar, loginEncargado, capacidad, descripcion, activoLugar, Convert.ToInt32(_listaTipoLugar.ElementAt(tipo.SelectedIndex - 1).ElementAt(0)), _sesion.obtenerLoginUsuario(_cookieActual)); if (resultado == 1) { _imgMensaje.ImageUrl = "~/Imagenes/ok.png"; _lblMensaje.Text = "Se han modificado los datos del lugar con éxito"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; _gvwLugares.EditIndex = -1; llenarTablaLugares(); _btnCancelar.Enabled = false; _btnGuardar.Enabled = false; _gvwLugares.Columns[7].Visible = true; } else if (resultado == 0) { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "Ha habido un error al intentar modificar los datos del lugar"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "El login proporcionado no corresponde a ningún usuario del sistema"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } } else { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "Debe especificar todos los campos del formulario"; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } }