/// <summary> /// Listar todas la categoría de reportes del sistema a las que tiene acceso un colaborador. /// </summary> /// <param name="c">Colaborador para el cuals e genera la lista</param> /// <returns>Una lista de todas las categorías de reportes</returns> public BindingList <CategoriaReporte> listarCategoriasReportes(Colaborador c) { try { BindingList <CategoriaReporte> categorias = _categorias_reportes.listarCategoriasReportes(); foreach (CategoriaReporte categoria in categorias) { CategoriaReporte copia = categoria; _categorias_reportes.obtenerReportesCategoria(ref copia, c); foreach (Reporte reporte in categoria.Reportes) { Reporte copia_reporte = reporte; _reportes.obtenerParametrosReporte(ref copia_reporte); _reportes.obtenerGraficosBoxplot(ref copia_reporte); _reportes.obtenerGraficosHistograma(ref copia_reporte); _reportes.obtenerGraficosBarra(ref copia_reporte); _reportes.obtenerGraficosBarraLinea(ref copia_reporte); _reportes.obtenerGraficosPie(ref copia_reporte); } } return(categorias); } catch (Exception ex) { throw ex; } }
/// <summary> /// Listar todas la categoría de reportes del sistema a las que tiene acceso un colaborador. /// </summary> /// <returns>Una lista de todas las categorías de reportes</returns> public BindingList <CategoriaReporte> listarCategoriasReportes() { BindingList <CategoriaReporte> categorias = new BindingList <CategoriaReporte>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectCategoriasReportes"); SqlDataReader datareader = null; try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { byte id = (byte)datareader["pk_ID"]; string nombre = (string)datareader["Nombre"]; CategoriaReporte categoria = new CategoriaReporte(id, nombre); categorias.Add(categoria); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(categorias); }
/// <summary> /// Obtener los reportes pertenecientes a una categoría. /// </summary> /// <param name="c">Categoría para la cual se genera la lista</param> public void obtenerReportesCategoria(ref CategoriaReporte c, Colaborador co) { SqlDataReader datareader = null; SqlCommand comando = _manejador.obtenerProcedimiento("SelectReportePuestoPerfil"); _manejador.agregarParametro(comando, "@colaborador", co.ID, SqlDbType.Int); _manejador.agregarParametro(comando, "@categoria", c.ID, SqlDbType.TinyInt); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { byte id = (byte)datareader["pk_ID"]; string nombre = (string)datareader["Nombre"]; string descripcion = (string)datareader["Descripcion"]; string procedimiento = (string)datareader["Procedimiento"]; bool filtro_fechas = (bool)datareader["Filtro_Fechas"]; Reporte reporte = new Reporte(id, nombre, descripcion, procedimiento, filtro_fechas); c.agregarReporte(reporte); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Filtrar los reportes por Categoria. /// </summary> private void filtrarPorCategoria() { pnlLista.Parent = tcCategorias.SelectedTab; lstReportes.Items.Clear(); // Filtrar los reportes por categoría CategoriaReporte categoria = _categorias_reportes[tcCategorias.SelectedIndex]; foreach (Reporte reporte in categoria.Reportes) { ListViewItem item = new ListViewItem(reporte.Nombre); item.ImageIndex = reporte.Graficos.Count > 0 ? 1 : 0; item.Tag = reporte; lstReportes.Items.Add(item); } // Revisar si existen reportes en la categoría seleccionada if (lstReportes.Items.Count > 0) { lstReportes.SelectedIndices.Add(0); btnAceptar.Enabled = true; } else { btnAceptar.Enabled = false; } }