示例#1
0
        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(), "");
            }
        }
示例#2
0
        /// <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(), "");
            }
        }
 /// <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(), "");
     }
 }
        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(), "");
            }
        }
        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(), "");
            }
        }