Пример #1
0
        /// <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));
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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();
        }