Exemple #1
0
 public Calificacion()
 {
     alumnoCurso = new AlumnoCursoCicloLectivo();
     asignatura = new Asignatura();
     periodo = new Periodo();
     escala = new ValoresEscalaCalificacion();
     periodo = new Periodo();
     instanciaCalificacion = new InstanciaCalificacion();
 }
        /// <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>
        private void btnGraficar(object sender, EventArgs e)
        {
            try
            {
                //GenerarDatosGrafico();
                AccionPagina = enumAcciones.Limpiar;
                float sumaNotas = 0;
                rptCalificaciones.graficoReporte.LimpiarSeries();
                string alumno = string.Empty;
                if (Convert.ToInt32(ddlAlumno.SelectedValue) > 0)
                    alumno = "\n" + ddlAlumno.SelectedItem.Text + "\n";

                if (ddlAsignatura.SelectedIndex > 0)
                { // so reporte   distribucion de calificaciones por asignatura
                    foreach (System.Web.UI.WebControls.ListItem asignatura in ddlAsignatura.Items)
                    {
                        if (asignatura.Selected)
                        {
                            var serie = new List<RptCalificacionesAlumnoPeriodo>();
                            for (int i = 1; i < 11; i++)
                            {
                                var listaParcial = listaReporte.FindAll(p => p.calificacion == i.ToString() && p.asignatura == asignatura.Text);
                                //if (listaParcial.Count > 0)
                                //{
                                    serie.Add(new RptCalificacionesAlumnoPeriodo
                                    {
                                        calificacion = (listaParcial.Count > 0) ? listaParcial.Count.ToString() : string.Empty,
                                        asignatura = i.ToString()
                                    });
                                //}

                            }
                            if (serie != null && serie.Count > 0)
                            {
                                DataTable dt = UIUtilidades.BuildDataTable<RptCalificacionesAlumnoPeriodo>(serie);
                                // En alumno envio la nota y en calificación la cantidad de esa nota que se produjo
                                rptCalificaciones.graficoReporte.AgregarSerie(asignatura.Text, dt, "asignatura", "calificacion");
                            }
                        }
                    }

                    rptCalificaciones.graficoReporte.Titulo = "Distribución de Calificaciones \n" + alumno;
                }
                else
                { // promedio de calificaciones por curso en un determinado periodo
                    var serie = new List<RptCalificacionesAlumnoPeriodo>();
                    foreach (var item in listaAsignatura)
                    {
                        sumaNotas = 0;
                        var listaParcial = listaReporte.FindAll(p => p.asignatura == item.nombre);
                        if (listaParcial.Count > 0)
                        {
                            foreach (var nota in listaParcial)
                            {
                                sumaNotas += Convert.ToInt16(nota.calificacion);
                            }

                            serie.Add(new RptCalificacionesAlumnoPeriodo
                            {
                                calificacion = Math.Round(sumaNotas / listaParcial.Count, 2).ToString(CultureInfo.InvariantCulture),
                                asignatura = item.nombre
                            });
                        }
                    }

                    DataTable dt = UIUtilidades.BuildDataTable<RptCalificacionesAlumnoPeriodo>(serie);
                    rptCalificaciones.graficoReporte.AgregarSerie("Promedio", dt, "asignatura", "calificacion");

                    BLValoresEscalaCalificacion objBLNivelAprobacion = new BLValoresEscalaCalificacion();
                    ValoresEscalaCalificacion escala = new ValoresEscalaCalificacion();
                    escala = objBLNivelAprobacion.GetNivelProbacion();

                    List<ValoresEscalaCalificacion> listaEscala = new List<ValoresEscalaCalificacion>();
                    foreach (RptCalificacionesAlumnoPeriodo item in serie)
                    {
                        listaEscala.Add(new ValoresEscalaCalificacion
                        {
                            valor = escala.valor,
                            nombre = item.asignatura
                        });
                    }
                    DataTable dtEscala = UIUtilidades.BuildDataTable<ValoresEscalaCalificacion>(listaEscala);
                    rptCalificaciones.graficoReporte.AgregarSerie("Nivel de Aprobación (" + escala.nombre + ")", dtEscala, "nombre", "valor", true);

                    rptCalificaciones.graficoReporte.Titulo = "Promedio Por Asignatura \n" + ddlCurso.SelectedItem.Text + " - " + ddlCicloLectivo.SelectedItem.Text + alumno;
                }

                GenerarDatosGrafico();
                rptCalificaciones.graficoReporte.GraficarBarra();
                rptCalificaciones.CargarReporte<RptCalificacionesAlumnoPeriodo>(listaReporte);
            }
            catch (Exception ex)
            { Master.ManageExceptions(ex); }
        }
Exemple #3
0
        /// <summary>
        /// Obteners the valores escala calificacion.
        /// </summary>
        /// <param name="configuracion">The configuracion.</param>
        /// <returns></returns>
        public List<ValoresEscalaCalificacion> obtenerValoresEscalaCalificacionBDTransaccional(Configuraciones configuracion)
        {
            List<ValoresEscalaCalificacion> listEscalaCalificacion = null;
            try
            {
                using (MySqlCommand command = new MySqlCommand())
                {
                    conMySQL = new MySqlConnection(configuracion.valor);
                    command.Connection = conMySQL;

                    command.CommandText = @"SELECT  id as 'idEscalaNotaTransaccional',
                                                    nombre,
                                                    descripcion,
                                                    nombre as 'valor',
                                                    aprobado
                                            FROM escalanota";
                    conMySQL.Open();

                    MySqlDataReader reader = command.ExecuteReader();
                    ValoresEscalaCalificacion valorEscala;
                    listEscalaCalificacion = new List<ValoresEscalaCalificacion>();
                    while (reader.Read())
                    {
                        valorEscala = new ValoresEscalaCalificacion()
                        {
                            idValorEscalaCalificacion = 0,
                            idValorEscalaCalificacionTransaccional = Convert.ToInt32(reader["idEscalaNotaTransaccional"]),
                            nombre = reader["nombre"].ToString(),
                            descripcion = reader["descripcion"].ToString(),
                            valor = reader["valor"].ToString(),
                            activo = true,
                            aprobado = Convert.ToBoolean(reader["aprobado"])
                        };
                        if (valorEscala.descripcion.Contains("conceptual"))
                        { valorEscala.idValorEscalaCalificacion = (int)enumEscalasCalificaciones.Conceptual; }
                        else { valorEscala.idValorEscalaCalificacion = (int)enumEscalasCalificaciones.Numerica; }
                        listEscalaCalificacion.Add(valorEscala);
                    }
                    command.Connection.Close();
                    return listEscalaCalificacion;
                }
            }
            catch (MySqlException ex)
            {
                throw new CustomizedException(String.Format("Fallo en {0} - obtenerValoresEscalaCalificacion()", ClassName),
                                        ex, enuExceptionType.MySQLException);
            }
            catch (SqlException ex)
            {
                throw new CustomizedException(String.Format("Fallo en {0} - obtenerValoresEscalaCalificacion()", ClassName),
                                    ex, enuExceptionType.SqlException);
            }
            catch (Exception ex)
            {
                throw new CustomizedException(String.Format("Fallo en {0} - obtenerValoresEscalaCalificacion()", ClassName),
                                    ex, enuExceptionType.DataAccesException);
            }
            finally
            {
                //if (sqlConnectionConfig.State == ConnectionState.Open)
                //    sqlConnectionConfig.Close();
            }
        }
        /// <summary>
        /// Graficars the promedios.
        /// </summary>
        private void GraficarPromedios()
        {
            // Cuando se elija
            try
            {
                GenerarDatosGraficoCalificaciones();
                Double sumaNotas = 0;
                rptResultado.graficoReporte.LimpiarSeries();
                var serie = new List<RptPromedioCalificacionesPeriodo>();
                rptResultado.graficoReporte.habilitarTorta = false;
                foreach (var item in listaAsignatura)
                {
                    sumaNotas = 0;
                    var listaParcial = listaReporte.FindAll(p => p.asignatura == item.nombre);
                    if (listaParcial.Count > 0)
                    {
                        foreach (var nota in listaParcial)
                        {
                            sumaNotas += Convert.ToDouble(nota.promedio);
                        }

                        serie.Add(new RptPromedioCalificacionesPeriodo
                        {
                            promedio = Math.Round(sumaNotas / listaParcial.Count, 2).ToString(CultureInfo.InvariantCulture),
                            asignatura = item.nombre
                            //asignatura = ""
                        });
                    }
                }
                DataTable dt = UIUtilidades.BuildDataTable<RptPromedioCalificacionesPeriodo>(serie);
                rptResultado.graficoReporte.AgregarSerie("Asignatura", dt, "asignatura", "promedio");
                //rptResultado.graficoReporte.AgregarSerie("", dt, "asignatura", "promedio");

                BLValoresEscalaCalificacion objBLNivelAprobacion = new BLValoresEscalaCalificacion();
                ValoresEscalaCalificacion escala = new ValoresEscalaCalificacion();
                escala = objBLNivelAprobacion.GetNivelProbacion();

                List<ValoresEscalaCalificacion> listaEscala = new List<ValoresEscalaCalificacion>();
                foreach (RptPromedioCalificacionesPeriodo item in serie)
                {
                    listaEscala.Add(new ValoresEscalaCalificacion
                    {
                        valor = escala.valor,
                        nombre = item.asignatura
                    });
                }
                DataTable dtEscala = UIUtilidades.BuildDataTable<ValoresEscalaCalificacion>(listaEscala);
                rptResultado.graficoReporte.AgregarSerie("Nivel de Aprobación (" + escala.nombre + ")", dtEscala, "nombre", "valor", true);

                string alumno = string.Empty;
                if (ddlAlumno.Items.Count > 0 && Convert.ToInt32(ddlAlumno.SelectedValue) > 0)
                    alumno = "\n" + ddlAlumno.SelectedItem.Text + "\n";
                string Titulo = "Promedio Por Asignatura \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); }
        }