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); } }
/// <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); } }