/// <summary> /// Cargars the encabezado. /// </summary> private void CargarEncabezado() { lblFechaLanzamiento.Text = Convert.ToDateTime(encuestaSesion.fechaLanzamiento).ToShortDateString(); if (encuestaSesion.fechaVencimiento.HasValue) lblFechaExpiracion.Text = Convert.ToDateTime(encuestaSesion.fechaVencimiento).ToShortDateString(); lblCurso.Text = encuestaSesion.curso.curso.nombre; if (!string.IsNullOrEmpty(encuestaSesion.asignatura.asignatura.nombre)) { lblAsignatura.Visible = true; lblAsignaturaNombre.Text = encuestaSesion.asignatura.asignatura.nombre; } BLEncuesta objBLEncuesta = new BLEncuesta(); EncuestaAnalisis miAnalisis = objBLEncuesta.GetEncuestaAnalisis(encuestaSesion, null); if (miAnalisis != null) { lblEnviadas.Text = miAnalisis.nroLanzadas.ToString(); lblRespondidas.Text = miAnalisis.nroRespondidas.ToString(); if (Convert.ToDateTime(encuestaSesion.fechaVencimiento).Subtract(DateTime.Today).Days > 0) lblPendientes.Text = miAnalisis.nroPendientes.ToString(); else { lblEncuestasPendientes.Text = "Encuestas Expiradas: "; lblPendientes.Text = miAnalisis.nroExpiradas.ToString(); } } lstRoles.Items.Clear(); List<DTRol> listaRoles = (new BLEncuesta()).GetRolesAmbito(new AmbitoEncuesta() { idAmbitoEncuesta = encuestaSesion.ambito.idAmbitoEncuesta }); foreach (DTRol item in listaRoles) lstRoles.Items.Add(new ListItem(item.Nombre)); }
/// <summary> /// Exportars the informe. /// </summary> private void ExportarInforme() { List<TablaGrafico> listaTabla = new List<TablaGrafico>(); TablaGrafico miItem = new TablaGrafico(); List<miRespuesta> miListaRespuesta = new List<miRespuesta>(); string TmpPath = string.Empty; string nombrePNG = string.Empty; StringBuilder filtros = new StringBuilder(); filtros.AppendLine("Curso: " + encuestaSesion.curso.curso.nombre); if (!string.IsNullOrEmpty(encuestaSesion.asignatura.asignatura.nombre)) filtros.AppendLine("Asignatura: " + encuestaSesion.asignatura.asignatura.nombre); filtros.AppendLine("Fecha de Lanzamiento: " + Convert.ToDateTime(encuestaSesion.fechaLanzamiento).ToShortDateString()); if (encuestaSesion.fechaVencimiento.HasValue) filtros.AppendLine("Fecha de Expiración: " + Convert.ToDateTime(encuestaSesion.fechaVencimiento).ToShortDateString()); BLEncuesta objBLEncuesta = new BLEncuesta(); int cantidad = 0; List<DTRol> listaRoles = null; foreach (ListItem item in lstRoles.Items) if (item.Selected) cantidad++; if (cantidad > 0 && cantidad != lstRoles.Items.Count) { listaRoles = new List<DTRol>(); foreach (ListItem item in lstRoles.Items) if (item.Selected) { listaRoles.Add(new DTRol() { Nombre = item.Text }); } } EncuestaAnalisis miAnalisis = objBLEncuesta.GetEncuestaAnalisis(encuestaSesion, listaRoles); if (miAnalisis != null) { filtros.AppendLine("Encuestas Enviadas: " + miAnalisis.nroLanzadas.ToString()); filtros.AppendLine("Encuestas Respondidas: " + miAnalisis.nroRespondidas.ToString()); if (Convert.ToDateTime(encuestaSesion.fechaVencimiento).Subtract(DateTime.Today).Days > 0) filtros.AppendLine("Encuestas Pendientes: " + miAnalisis.nroPendientes.ToString()); else filtros.AppendLine("Encuestas Expiradas: " + miAnalisis.nroExpiradas.ToString()); } filtros.AppendLine("Roles: "); if (cantidad == 0 || cantidad == lstRoles.Items.Count) foreach (ListItem item in lstRoles.Items) filtros.AppendLine(" * " + item.Text); else foreach (ListItem item in lstRoles.Items) if (item.Selected) filtros.AppendLine(" * " + item.Text); foreach (RespuestaPreguntaAnalisis item in listaRespuestaNumericas) { miItem = new TablaGrafico(); miListaRespuesta = ObtenerRespuestas(item); miItem.titulo = item.textoPregunta; miItem.listaEncabezados = new List<string>(); miItem.listaEncabezados.Add("Respuesta"); miItem.listaEncabezados.Add("Porcentaje"); miItem.listaCuerpo = new List<List<string>>(); decimal totales = miListaRespuesta.Sum(od => od.cantidad); Chart miGrafico = new Chart { Width = 800, Height = 450, RenderType = RenderType.ImageTag, AntiAliasing = AntiAliasingStyles.All, TextAntiAliasingQuality = TextAntiAliasingQuality.High, BorderlineDashStyle = ChartDashStyle.Solid, BackSecondaryColor = Color.White, Palette = ChartColorPalette.BrightPastel, BackGradientStyle = GradientStyle.TopBottom }; //miGrafico.Titles.Add(item.textoPregunta); //miGrafico.Titles[0].Font = new Font("Arial", 16f); miGrafico.Legends.Add(""); miGrafico.Legends[0].Alignment = StringAlignment.Center; miGrafico.Legends[0].IsTextAutoFit = false; miGrafico.Legends[0].BorderWidth = 1; miGrafico.Legends[0].BorderDashStyle = ChartDashStyle.Solid; miGrafico.Legends[0].ShadowOffset = 3; miGrafico.Legends[0].Name = "Default"; miGrafico.Legends[0].BackColor = Color.Transparent; miGrafico.Legends[0].BorderColor = Color.FromArgb(26, 59, 105); miGrafico.Legends[0].Docking = Docking.Bottom; miGrafico.ChartAreas.Add(""); miGrafico.ChartAreas[0].AxisX.Title = "Respuestas"; miGrafico.ChartAreas[0].AxisY.Title = "Porcentaje"; miGrafico.ChartAreas[0].AxisX.TitleFont = new Font("Arial", 12f); miGrafico.ChartAreas[0].AxisY.TitleFont = new Font("Arial", 12f); miGrafico.ChartAreas[0].AxisX.LabelStyle.Font = new Font("Arial", 10f); miGrafico.ChartAreas[0].AxisX.LabelStyle.Angle = 90; miGrafico.ChartAreas[0].BackColor = Color.Transparent; miGrafico.ChartAreas[0].BorderColor = Color.FromArgb(26, 59, 105); miGrafico.ChartAreas[0].Area3DStyle.Enable3D = true; miGrafico.ChartAreas[0].Area3DStyle.Inclination = 45; miGrafico.Series.Add(""); miGrafico.Series[0].ChartType = SeriesChartType.Pie; miGrafico.Series[0].ShadowOffset = 2; miGrafico.Series[0]["PieLabelStyle"] = "Outside"; miGrafico.Series[0].LegendText = "#VALX: #PERCENT"; foreach (miRespuesta itemRespuesta in miListaRespuesta) { miItem.listaCuerpo.Add(new List<string>() { itemRespuesta.respuesta, Math.Round((itemRespuesta.cantidad / totales * 100), 2).ToString() }); miGrafico.Series[0].Points.AddXY(itemRespuesta.respuesta, Math.Round((itemRespuesta.cantidad / totales * 100), 2)); } TmpPath = System.Configuration.ConfigurationManager.AppSettings["oTmpPath"]; nombrePNG = TmpPath + "\\Grafico_" + Session.SessionID + "_" + encuestaSesion.idEncuesta + "_" + item.idPregunta + ".png"; miGrafico.SaveImage(nombrePNG, ChartImageFormat.Png); miItem.listaPie = new List<string>(); miItem.listaPie.Add(nombrePNG); listaTabla.Add(miItem); } foreach (RespuestaPreguntaAnalisis item in listaRespuestaTextuales) { miItem = new TablaGrafico(); miListaRespuesta = ObtenerRespuestas(item); miItem.titulo = item.textoPregunta; miItem.listaEncabezados = new List<string>(); miItem.listaEncabezados.Add("Análisis"); miItem.listaEncabezados.Add("Resultados"); miItem.listaCuerpo = new List<List<string>>(); miItem.listaCuerpo.Add(new List<string>() { "Respuestas Obtenidas", item.respuestasObtenidas.ToString() }); miItem.listaCuerpo.Add(new List<string>() { "Respuestas Esperadas", item.respuestasEsperadas.ToString() }); miItem.listaCuerpo.Add(new List<string>() { "Porcentaje", item.porcentaje.ToString() }); listaTabla.Add(miItem); } ExportPDF.ExportarGraficoPDF(encuestaSesion.nombreEncuesta, ObjSessionDataUI.ObjDTUsuario.Nombre, filtros.ToString(), string.Empty, listaTabla); }
/// <summary> /// Actualizars the encabezado. /// </summary> private void ActualizarEncabezado() { int cantidad = 0; List<DTRol> listaRoles = null; foreach (ListItem item in lstRoles.Items) if (item.Selected) cantidad++; if (cantidad > 0 && cantidad != lstRoles.Items.Count) { listaRoles = new List<DTRol>(); foreach (ListItem item in lstRoles.Items) if (item.Selected) { listaRoles.Add(new DTRol() { Nombre = item.Text }); } } BLEncuesta objBLEncuesta = new BLEncuesta(); EncuestaAnalisis miAnalisis = objBLEncuesta.GetEncuestaAnalisis(encuestaSesion, listaRoles); if (miAnalisis != null) { lblEnviadas.Text = miAnalisis.nroLanzadas.ToString(); lblRespondidas.Text = miAnalisis.nroRespondidas.ToString(); if (Convert.ToDateTime(encuestaSesion.fechaVencimiento).Subtract(DateTime.Today).Days > 0) lblPendientes.Text = miAnalisis.nroPendientes.ToString(); else { lblEncuestasPendientes.Text = "Encuestas Expiradas: "; lblPendientes.Text = miAnalisis.nroExpiradas.ToString(); } } //udpIndicadores.Update(); }