/// <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> /// Validars the preguntas. /// </summary> /// <param name="propEncuesta">The prop encuesta.</param> private void ValidarPreguntas(Encuesta propEncuesta) { BLEncuesta objBLEncuesta = new BLEncuesta(propEncuesta); objBLEncuesta.ValidarLanzamiento(); }
/// <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(); }
/// <summary> /// Guardars the encuesta. /// </summary> /// <param name="entidad">The entidad.</param> private void GuardarEncuesta(Encuesta entidad) { objBLEncuesta = new BLEncuesta(entidad); objBLEncuesta.Save(); }
/// <summary> /// Lanzars the encuesta. /// </summary> private void LanzarEncuesta() { Encuesta encuesta = new Encuesta() { idEncuesta = propEncuesta.idEncuesta }; objBLEncuesta = new BLEncuesta(); objBLEncuesta.LanzarEncuesta(encuesta); }
/// <summary> /// Cargars the lista. /// </summary> /// <param name="entidad">The entidad.</param> private void CargarLista(Encuesta entidad) { objBLEncuesta = new BLEncuesta(entidad); listaEncuesta = objBLEncuesta.GetEncuestas(entidad); }
/// <summary> /// Eliminars the encuesta. /// </summary> private void EliminarEncuesta() { Encuesta encuesta = new Encuesta() { idEncuesta = propEncuesta.idEncuesta }; objBLEncuesta = new BLEncuesta(encuesta); objBLEncuesta.Delete(); }
/// <summary> /// Cargars the lista. /// </summary> /// <param name="entidad">The entidad.</param> private void CargarLista(Encuesta encuesta, Pregunta entidad) { objBLEncuesta = new BLEncuesta(encuesta); listaPreguntas = objBLEncuesta.GetPreguntasEncuesta(encuestaSesion, entidad); }
/// <summary> /// Generars the esqueleto. /// </summary> /// <param name="entidad">The entidad.</param> private void generarEsqueleto(Encuesta entidad) { objBLEncuesta = new BLEncuesta(); objBLPregunta = new BLPregunta(); if (listaCategorias.Count == 0) listaCategorias = objBLEncuesta.GetCategoriasPorEncuesta(entidad); lblNombreEncuesta.Text = entidad.nombreEncuesta; Label lblCategoria; AjaxControlToolkit.AccordionPane pn; int i = 0; int contador = 0; List<string> textoPregunta = new List<string>(); foreach (CategoriaPregunta categoria in listaCategorias) { List<Pregunta> preguntasPorCategoria = objBLPregunta.GetPreguntasPorCategoria(categoria, entidad); lblCategoria = new Label(); lblCategoria.Text = categoria.nombre; pn = new AjaxControlToolkit.AccordionPane(); pn.ID = "Panel_" + i; pn.HeaderContainer.Controls.Add(lblCategoria); if (preguntasPorCategoria.Count > 0) { Label lblPregunta; foreach (Pregunta pregunta in preguntasPorCategoria) { contador++; Panel panelRespuesta = new Panel(); panelRespuesta.ID = "pregunta_" + contador.ToString(); //PREGUNTA lblPregunta = new Label(); textoPregunta = new List<string>(); textoPregunta = UIUtilidades.StringWrap(pregunta.textoPregunta, 130); foreach (string item in textoPregunta) lblPregunta.Text += item + "<br />"; lblPregunta.Font.Bold = true; lblPregunta.Font.Size = 11; panelRespuesta.Controls.Add(lblPregunta); respuestaSkeleton.pregunta = pregunta; Respuesta miRespuesta = null; //RESPUESTA if (pregunta.escala.nombre.Equals("Conceptual literal")) { TextBox txtRespuesta = new TextBox(); txtRespuesta.ID = "respuesta_" + pregunta.idPregunta.ToString(); txtRespuesta.Rows = 5; txtRespuesta.Columns = 75; txtRespuesta.AutoPostBack = false; txtRespuesta.CssClass = "txtMultilinea99"; txtRespuesta.TextMode = TextBoxMode.MultiLine; txtRespuesta.Wrap = false; txtRespuesta.MaxLength = 4000; if (ListaRespuestas != null) { miRespuesta = ListaRespuestas.Find(p => p.pregunta.textoPregunta == txtRespuesta.ID); if (miRespuesta != null) txtRespuesta.Text = miRespuesta.respuestaTextual; } txtRespuesta.TextChanged += new EventHandler(this.text_Changed); txtRespuesta.Attributes.Add("onBlur", "GuardarRespuesta(this);"); panelRespuesta.Controls.Add(new LiteralControl("<br/>")); panelRespuesta.Controls.Add(txtRespuesta); panelRespuesta.Controls.Add(new LiteralControl("<br/>")); } else { List<ValorEscalaMedicion> lista = new List<ValorEscalaMedicion>(); BLValorEscala objBL = new BLValorEscala(); EscalaMedicion miEscala = new EscalaMedicion(); lista = objBL.GetValoresEscalasMedicion(pregunta.escala); RadioButtonList botonera = new RadioButtonList(); botonera.AutoPostBack = true; botonera.ID = "respuesta_" + pregunta.idPregunta.ToString(); botonera.SelectedIndexChanged += new EventHandler(botonera_SelectedIndexChanged); foreach (ValorEscalaMedicion item in lista) botonera.Items.Add(new ListItem(item.nombre, item.idValorEscala.ToString())); panelRespuesta.Controls.Add(botonera); cantRespuestasMinimas++; } pn.ContentContainer.Controls.Add(panelRespuesta); pn.ContentContainer.Controls.Add(new LiteralControl("<br/>")); } } CuestionarioAccordion.Panes.Add(pn); ++i; } }
/// <summary> /// Cargars the encuesta. /// </summary> /// <param name="idEncuestaSeleccionada">The id encuesta seleccionada.</param> private void CargarEncuesta(int idEncuestaSeleccionada) { cantRespuestasMinimas = 0; objBLEncuesta = new BLEncuesta(); objBLEncuestaDisponible = new BLEncuestaDisponible(); //OBTENGO LA ENCUESTA PUNTUAL if (encuestaPuntual.idEncuesta == 0) encuestaPuntual = objBLEncuestaDisponible.GetEncuestasDisponibles(encuestaSeleccionada).Find(c => c.idEncuesta == idEncuestaSeleccionada); encuestaSeleccionada.encuesta = encuestaPuntual; encuestaSeleccionada.usuario.username = ObjSessionDataUI.ObjDTUsuario.Nombre; //PRECARGA DE ATRIBUTOS DE LA RESPUESTA SKELETON respuestaSkeleton.encuestaDisponible.encuesta = encuestaPuntual; respuestaSkeleton.encuestaDisponible.usuario.username = ObjSessionDataUI.ObjDTUsuario.Nombre; generarEsqueleto(encuestaPuntual); }
/// <summary> /// Generars the esqueleto. /// </summary> /// <param name="entidad">The entidad.</param> private void generarEsqueleto(Encuesta entidad) { objBLEncuesta = new BLEncuesta(); //objBLEncuestaDisponible = new BLEncuestaDisponible(); objBLPregunta = new BLPregunta(); //List<CategoriaPregunta> listaCategorias = objBLEncuesta.GetCategoriasPorEncuesta(encuestaSeleccionada.encuesta); if (listaCategorias.Count == 0) listaCategorias = objBLEncuesta.GetCategoriasPorEncuesta(entidad); //lblNombreEncuesta.Text = encuestaSeleccionada.encuesta.nombreEncuesta; lblNombreEncuesta.Text = entidad.nombreEncuesta; Label lblCategoria; AjaxControlToolkit.AccordionPane pn; int i = 0; int contador = 0; List<string> textoPregunta = new List<string>(); foreach (CategoriaPregunta categoria in listaCategorias) { List<Pregunta> preguntasPorCategoria = objBLPregunta.GetPreguntasPorCategoria(categoria, entidad); lblCategoria = new Label(); lblCategoria.Text = categoria.nombre; pn = new AjaxControlToolkit.AccordionPane(); pn.ID = "Panel_" + i; pn.HeaderContainer.Controls.Add(lblCategoria); if (preguntasPorCategoria.Count > 0) { Label lblPregunta; foreach (Pregunta pregunta in preguntasPorCategoria) { contador++; Panel panelRespuesta = new Panel(); panelRespuesta.ID = "pregunta_" + contador.ToString(); //PREGUNTA lblPregunta = new Label(); textoPregunta = new List<string>(); textoPregunta = UIUtilidades.StringWrap(pregunta.textoPregunta, 130); foreach (string item in textoPregunta) lblPregunta.Text += item + "<br />"; lblPregunta.Font.Bold = true; lblPregunta.Font.Size = 11; //lblPregunta.BorderWidth = 1; //lblPregunta.Width = 990; panelRespuesta.Controls.Add(lblPregunta); //panelRespuesta.Controls.Add(new LiteralControl("<br/>")); respuestaSkeleton.pregunta = pregunta; Respuesta miRespuesta = null; //RESPUESTA if (pregunta.escala.nombre.Equals("Conceptual literal")) { TextBox txtRespuesta = new TextBox(); txtRespuesta.ID = "respuesta_" + pregunta.idPregunta.ToString(); txtRespuesta.Rows = 5; txtRespuesta.Columns = 75; txtRespuesta.AutoPostBack = false; txtRespuesta.CssClass = "txtMultilinea99"; txtRespuesta.TextMode = TextBoxMode.MultiLine; txtRespuesta.Wrap = false; txtRespuesta.MaxLength = 4000; if (ListaRespuestas != null) { miRespuesta = ListaRespuestas.Find(p => p.pregunta.textoPregunta == txtRespuesta.ID); if (miRespuesta != null) txtRespuesta.Text = miRespuesta.respuestaTextual; } txtRespuesta.TextChanged += new EventHandler(this.text_Changed); txtRespuesta.Attributes.Add("onBlur", "GuardarRespuesta(this);"); panelRespuesta.Controls.Add(new LiteralControl("<br/>")); panelRespuesta.Controls.Add(txtRespuesta); panelRespuesta.Controls.Add(new LiteralControl("<br/>")); } else { AjaxControlToolkit.Rating rating = new AjaxControlToolkit.Rating(); rating.ID = "respuesta_" + pregunta.idPregunta.ToString(); rating.MaxRating = 5; rating.StarCssClass = "ratingStar"; rating.WaitingStarCssClass = "savedRatingStar"; rating.FilledStarCssClass = "filledRatingStar"; rating.EmptyStarCssClass = "emptyRatingStar"; rating.AutoPostBack = false; if (ListaRespuestas != null) { miRespuesta = ListaRespuestas.Find(p => p.pregunta.textoPregunta == rating.ID); if (miRespuesta != null) rating.CurrentRating = miRespuesta.respuestaSeleccion; } rating.Changed += new AjaxControlToolkit.RatingEventHandler(rating_Changed); panelRespuesta.Controls.Add(new LiteralControl("<br/>")); panelRespuesta.Controls.Add(rating); panelRespuesta.Controls.Add(new LiteralControl("<br/>")); cantRespuestasMinimas++; } pn.ContentContainer.Controls.Add(panelRespuesta); pn.ContentContainer.Controls.Add(new LiteralControl("<br/>")); } } CuestionarioAccordion.Panes.Add(pn); ++i; } }
/// <summary> /// Eliminar la pregunta. /// </summary> private void EliminarPregunta() { Pregunta objEliminar = new Pregunta(); objEliminar.idPregunta = propPregunta.idPregunta; encuestaSesion.preguntas.Clear(); encuestaSesion.preguntas.Add(objEliminar); objBLEncuesta = new BLEncuesta(encuestaSesion); objBLEncuesta.Delete(); CargarPresentacion(); BuscarPregunta(encuestaSesion, null); }