/// <summary> /// Método que se encarga de cargar el horario de disponibiliadad /// </summary> /// <returns>Un datatable con el horario</returns> public DataTable cargarHorarioDisponibilidad(int idHorario) { DataTable resultado = new DataTable(); try { if (idHorario == 0) { _imgMensaje.ImageUrl = "~/Imagenes/Advertencia.png"; _lblMensaje.Text = "Por el momento no hay horarios de disponibilidad habilitados."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; _btnHorario.Visible = false; _btnGuardar.Visible = false; } else { _controlador = new ControladorHorario(); //Crear las columnas de la tabla resultado.Columns.Add(new DataColumn("Turno")); resultado.Columns.Add(new DataColumn("Lunes")); resultado.Columns.Add(new DataColumn("Martes")); resultado.Columns.Add(new DataColumn("Miércoles")); resultado.Columns.Add(new DataColumn("Jueves")); resultado.Columns.Add(new DataColumn("Viernes")); resultado.Columns.Add(new DataColumn("Sábado")); //Llenar la tabla, solo con la columna de turno con valor resultado.Rows.Add("7:30 a.m - 11:30 a.m", "", "", "", "", "", ""); resultado.Rows.Add("11:30 a.m - 3:30 p.m", "", "", "", "", "", ""); resultado.Rows.Add("3:30 p.m - 7:30 p.m", "", "", "", "", "", ""); resultado.Rows.Add("7:30 p.m - 10:30 p.m", "", "", "", "", "", ""); List<List<object>> turnos = _controlador.obtenerTurnosDisponibilidad(idHorario); if (turnos.Count > 0) { ordenarTurnos(resultado, turnos); } } } catch (Exception ex) { _controlador = new ControladorHorario(); _controlador.insertarBitacoraError(ex.ToString(), ""); } return resultado; }
protected void _btnExportar_Click(object sender, EventArgs e) { _controladorHorario = new ControladorHorario(); int idHorario = _controladorHorario.consultarHorarioDisDeshabilitado(); if (idHorario != -1) { DataTable tabla = new DataTable(); // Crear las columnas de la tabla tabla.Columns.Add(new DataColumn("Turno")); tabla.Columns.Add(new DataColumn("Lunes")); tabla.Columns.Add(new DataColumn("Martes")); tabla.Columns.Add(new DataColumn("Miércoles")); tabla.Columns.Add(new DataColumn("Jueves")); tabla.Columns.Add(new DataColumn("Viernes")); tabla.Columns.Add(new DataColumn("Sábado")); tabla.Columns.Add(new DataColumn("Domingo")); // Llenar la tabla, solo con la columna de turno con valor tabla.Rows.Add("7:30 a.m - 11:30 a.m", "", "", "", "", "", ""); tabla.Rows.Add("11:30 a.m - 3:30 p.m", "", "", "", "", "", ""); tabla.Rows.Add("3:30 p.m - 7:30 p.m", "", "", "", "", "", ""); tabla.Rows.Add("7:30 p.m - 10:30 p.m", "", "", "", "", "", ""); List<List<object>> turnos = _controladorHorario.obtenerTurnosDisponibilidad(idHorario); if (turnos.Count > 0) ordenarTurnos(tabla, turnos); DataTable dtTemp = new DataTable(); // Crear una tabla temporal // Creando los encabezados de las filas dtTemp.Columns.Add("<b>Turno</b>"); dtTemp.Columns.Add("<b>Lunes</b>"); dtTemp.Columns.Add("<b>Martes</b>"); dtTemp.Columns.Add("<b>Miercoles</b>"); dtTemp.Columns.Add("<b>Jueves</b>"); dtTemp.Columns.Add("<b>Viernes</b>"); dtTemp.Columns.Add("<b>Sabado</b>"); dtTemp.Columns.Add("<b>Domingo</b>"); DataRow fila; for (int i = 0; i < tabla.Rows.Count; i++) { fila = dtTemp.NewRow(); fila[0] = tabla.Rows[i][0].ToString(); // Turno fila[1] = tabla.Rows[i][1].ToString(); // Lunes fila[2] = tabla.Rows[i][2].ToString(); // Martes fila[3] = tabla.Rows[i][3].ToString(); // Miércoles fila[4] = tabla.Rows[i][4].ToString(); // Jueves fila[5] = tabla.Rows[i][5].ToString(); // Viernes fila[6] = tabla.Rows[i][6].ToString(); // Sábado fila[7] = tabla.Rows[i][7].ToString(); // Domingo dtTemp.Rows.Add(fila); } // Grid temporal DataGrid dg = new DataGrid { DataSource = dtTemp }; dg.DataBind(); Boolean resultado = ExportToExcel("Horario Disponibilidad.xls", dg); // Exportar if (!resultado) { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "No se ha podido exportar el archivo"; _lblMensaje.Visible = true; _imgMensaje.Visible = true; } dg = null; dg.Dispose(); } else { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "No se ha podido obtener el horario de disponiblidad vigente"; _lblMensaje.Visible = true; _imgMensaje.Visible = true; } }