Ejemplo n.º 1
0
        /// <summary>
        /// Graficars the sanciones.
        /// </summary>
        private void GraficarSanciones()
        {
            try
            {
                GenerarDatosGraficoSanciones();
                RptSancionesAlumnoPeriodo rptAux;
                rptResultado.graficoReporte.LimpiarSeries();
                var serie = new List<RptSancionesAlumnoPeriodo>();
                if (ddlAlumno.SelectedIndex > 0)
                {
                    var listaParcial = listaReporteSanciones.FindAll(p => p.alumno == ddlAlumno.SelectedItem.Text);

                    foreach (var item in listaTipoSancion)
                    {
                        var listaPorTipoSancion = listaParcial.FindAll(p => p.tipo == item.nombre);
                        if (listaPorTipoSancion.Count > 0)
                        {
                            rptAux = new RptSancionesAlumnoPeriodo();
                            rptAux.tipo = item.nombre;
                            rptAux.cantidad = 0;
                            foreach (var item2 in listaPorTipoSancion)
                            {
                                rptAux.cantidad += Convert.ToInt16(item2.sanciones);
                            }

                            serie.Add(rptAux);
                        }
                    }
                    if (serie != null)
                    {
                        DataTable dt = UIUtilidades.BuildDataTable<RptSancionesAlumnoPeriodo>(serie);
                        // En cantidad envio la cantidad de sanciones y en tipo la sancion
                        rptResultado.graficoReporte.AgregarSerie(ddlAlumno.SelectedItem.Text, dt, "tipo", "cantidad");
                        rptResultado.graficoReporte.Titulo = "Sanciones " + ddlAlumno.SelectedItem.Text;
                    }

                    string escala = BLConfiguracionGlobal.ObtenerConfiguracion(EDUAR_Utility.Enumeraciones.enumConfiguraciones.SancionesExpulsion);

                    List<ValoresEscalaCalificacion> listaEscala = new List<ValoresEscalaCalificacion>();
                    foreach (RptSancionesAlumnoPeriodo item in serie)
                    {
                        listaEscala.Add(new ValoresEscalaCalificacion
                        {
                            valor = escala,
                            nombre = item.tipo
                        });
                    }
                    DataTable dtEscala = UIUtilidades.BuildDataTable<ValoresEscalaCalificacion>(listaEscala);
                    rptResultado.graficoReporte.AgregarSerie("Nivel de Expulsión (" + escala + ")", dtEscala, "nombre", "valor", true);
                }
                else
                {
                    foreach (var item in listaTipoSancion)
                    {
                        var listaPorTipoSancion = listaReporteSanciones.FindAll(p => p.tipo == item.nombre);
                        if (listaPorTipoSancion.Count > 0)
                        {
                            rptAux = new RptSancionesAlumnoPeriodo();
                            rptAux.tipo = item.nombre;
                            rptAux.cantidad = 0;
                            foreach (var item2 in listaPorTipoSancion)
                            {
                                rptAux.cantidad += Convert.ToInt16(item2.sanciones);
                            }
                            serie.Add(rptAux);
                        }
                    }
                    DataTable dt = UIUtilidades.BuildDataTable<RptSancionesAlumnoPeriodo>(serie);
                    rptResultado.graficoReporte.AgregarSerie("Sanciones", dt, "tipo", "cantidad");

                    string alumno = string.Empty;
                    if (ddlAlumno.Items.Count > 0 && Convert.ToInt32(ddlAlumno.SelectedValue) > 0)
                        alumno = "\n" + ddlAlumno.SelectedItem.Text + "\n";
                    string Titulo = "Sanciones \n" + ddlCurso.SelectedItem.Text + " - " + ddlCicloLectivo.SelectedItem.Text;
                    if (ddlPeriodo.Items.Count > 0 && Convert.ToInt32(ddlPeriodo.SelectedValue) > 0)
                        Titulo += " - " + ddlPeriodo.SelectedItem.Text;

                    Titulo += alumno;
                    rptResultado.graficoReporte.Titulo = Titulo;
                }

                rptResultado.graficoReporte.GraficarBarra();
            }
            catch (Exception ex)
            { Master.ManageExceptions(ex); }
        }
        /// <summary>
        /// BTNs the graficar.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void btnGraficar(object sender, EventArgs e)
        {
            try
            {
                GenerarDatosGraficoSanciones();
                rptSanciones.graficoReporte.LimpiarSeries();
                var serie = new List<RptSancionesAlumnoPeriodo>();
                int cantidad = 0;
                if (ddlAlumno.SelectedIndex > 0)
                {
                    var listaParcial = listaReporte.FindAll(p => p.alumno == ddlAlumno.SelectedItem.Text);

                    foreach (var item in listaTipoSancion)
                    {
                        cantidad = 0;
                        var listaPorTipoSancion = listaParcial.FindAll(p => p.tipo == item.nombre);
                        if (listaPorTipoSancion.Count > 0)
                        {

                            foreach (var sancion in listaPorTipoSancion)
                            {
                                cantidad += sancion.cantidad;
                            }
                            serie.Add(new RptSancionesAlumnoPeriodo
                            {
                                tipo = item.nombre,
                                cantidad = cantidad
                            });
                        }
                    }
                    if (serie != null)
                    {
                        DataTable dt = UIUtilidades.BuildDataTable<RptSancionesAlumnoPeriodo>(serie);
                        // En cantidad envio la cantidad de sanciones y en tipo la sancion
                        rptSanciones.graficoReporte.AgregarSerie(ddlAlumno.SelectedItem.Text, dt, "tipo", "cantidad");
                        rptSanciones.graficoReporte.Titulo = "Sanciones " + ddlAlumno.SelectedItem.Text;
                    }

                    string escala = BLConfiguracionGlobal.ObtenerConfiguracion(EDUAR_Utility.Enumeraciones.enumConfiguraciones.LimiteInasistencias);

                    List<ValoresEscalaCalificacion> listaEscala = new List<ValoresEscalaCalificacion>();
                    foreach (RptSancionesAlumnoPeriodo item in serie)
                    {
                        listaEscala.Add(new ValoresEscalaCalificacion
                        {
                            valor = escala,
                            nombre = item.tipo
                        });
                    }
                    DataTable dtEscala = UIUtilidades.BuildDataTable<ValoresEscalaCalificacion>(listaEscala);
                    rptSanciones.graficoReporte.AgregarSerie("Nivel de Expulsión (" + escala + ")", dtEscala, "nombre", "valor", true);
                }
                else
                {
                    foreach (var item in listaTipoSancion)
                    {
                        var listaPorTipoSancion = listaReporte.FindAll(p => p.tipo == item.nombre);

                        if (listaPorTipoSancion.Count > 0)
                        {
                            RptSancionesAlumnoPeriodo oneSerie = new RptSancionesAlumnoPeriodo();
                            oneSerie.cantidad = 0;
                            foreach (var item2 in listaPorTipoSancion)
                            {
                                oneSerie.tipo = item.nombre;
                                oneSerie.cantidad += item2.cantidad;
                            }

                            serie.Add(oneSerie);

                        }
                    }
                    DataTable dt = UIUtilidades.BuildDataTable<RptSancionesAlumnoPeriodo>(serie);
                    rptSanciones.graficoReporte.AgregarSerie("Sanciones", dt, "tipo", "cantidad");

                    rptSanciones.graficoReporte.Titulo = "Sanciones";

                    if (fechas.ValorFechaDesde != null
                        && fechas.ValorFechaHasta != null)
                        rptSanciones.graficoReporte.Titulo = @"Sanciones " + ((DateTime)fechas.ValorFechaDesde).ToShortDateString() +
                             " - " + ((DateTime)fechas.ValorFechaHasta).ToShortDateString();
                    else
                        if (fechas.ValorFechaDesde != null
                            && fechas.ValorFechaHasta == null)
                            rptSanciones.graficoReporte.Titulo = @"Sanciones desde el " + ((DateTime)fechas.ValorFechaDesde).ToShortDateString();
                        else
                            if (fechas.ValorFechaDesde == null
                            && fechas.ValorFechaHasta != null)
                                rptSanciones.graficoReporte.Titulo = @"Sanciones hasta el " + ((DateTime)fechas.ValorFechaHasta).ToShortDateString();
                }
                rptSanciones.graficoReporte.GraficarBarra();
            }
            catch (Exception ex)
            { Master.ManageExceptions(ex); }
        }