public void Insert(NotaModel notaModel) { var nota = notaModel.ToEntity(); NotaHelper.Insert(nota); }
public void Update(NotaModel notaModel) { NotaHelper.Update(notaModel.ToEntity()); }
public ActionResult Boleta(long id, long seccionId, long alumnoId) { long ColegioActualId = CustomHelper.getColegioId(); string PathLogo = ConfigurationManager.AppSettings["Path_LogoApp"].ToString(); Entities.Colegio ColegioActual = new ColegioBL().ObtenerxId(ColegioActualId); if (ColegioActual != null) { DataSet Notas = new DataSet("Notas"); DataTable EncabezadoColegio = new DataTable("EncabezadoColegio"); DataTable EncabezadoAlumno = new DataTable("EncabezadoAlumno"); DataTable DetalleNotas = new DataTable("Notas"); DataTable Asistencia = new DataTable("Asistencia"); DataTable DetalleActitudinalNotas = new DataTable("Notas_Actitudinal"); //Encabezado del colegio EncabezadoColegio.Columns.Add(new DataColumn("ColegioId", typeof(string))); EncabezadoColegio.Columns.Add(new DataColumn("Colegio", typeof(string))); EncabezadoColegio.Columns.Add(new DataColumn("Direccion", typeof(string))); EncabezadoColegio.Columns.Add(new DataColumn("Telefono", typeof(string))); EncabezadoColegio.Columns.Add(new DataColumn("Logo", typeof(byte[]))); byte[] Logo = null; //Se crea carpeta por colegio para almacenar el logo string Colegio_Logo = string.Format(@"{0}\{1}\logo.png", PathLogo, ColegioActualId); if (System.IO.File.Exists(Colegio_Logo)) { Logo = System.IO.File.ReadAllBytes(Colegio_Logo); } else { Logo = System.IO.File.ReadAllBytes(string.Format(@"{0}\logo.jpeg", PathLogo)); } EncabezadoColegio.Rows.Add(ColegioActual.ColegioId, ColegioActual.Nombre, ColegioActual.Direccion, ColegioActual.Telefono, Logo); //Encabezado del alumno EncabezadoAlumno.Columns.Add(new DataColumn("AlumnoId", typeof(string))); EncabezadoAlumno.Columns.Add(new DataColumn("Alumno", typeof(string))); EncabezadoAlumno.Columns.Add(new DataColumn("Ciclo", typeof(string))); EncabezadoAlumno.Columns.Add(new DataColumn("Grado", typeof(string))); EncabezadoAlumno.Columns.Add(new DataColumn("Seccion", typeof(string))); EncabezadoAlumno.Columns.Add(new DataColumn("Jornada", typeof(string))); //Notas DetalleNotas.Columns.Add(new DataColumn("AlumnoId", typeof(string))); DetalleNotas.Columns.Add(new DataColumn("Numero", typeof(string))); DetalleNotas.Columns.Add(new DataColumn("Curso", typeof(string))); DetalleNotas.Columns.Add(new DataColumn("Unidad1", typeof(decimal))); DetalleNotas.Columns.Add(new DataColumn("Unidad2", typeof(decimal))); DetalleNotas.Columns.Add(new DataColumn("Unidad3", typeof(decimal))); DetalleNotas.Columns.Add(new DataColumn("Unidad4", typeof(decimal))); DetalleNotas.Columns.Add(new DataColumn("Total", typeof(decimal))); //Asistencia Asistencia.Columns.Add(new DataColumn("AlumnoId", typeof(string))); Asistencia.Columns.Add(new DataColumn("Si", typeof(int))); Asistencia.Columns.Add(new DataColumn("No", typeof(int))); Asistencia.Columns.Add(new DataColumn("Tarde", typeof(int))); //Notas Actitudinal DetalleActitudinalNotas.Columns.Add(new DataColumn("AlumnoId", typeof(string))); DetalleActitudinalNotas.Columns.Add(new DataColumn("Curso", typeof(string))); DetalleActitudinalNotas.Columns.Add(new DataColumn("Unidad1", typeof(decimal))); DetalleActitudinalNotas.Columns.Add(new DataColumn("Unidad2", typeof(decimal))); DetalleActitudinalNotas.Columns.Add(new DataColumn("Unidad3", typeof(decimal))); DetalleActitudinalNotas.Columns.Add(new DataColumn("Unidad4", typeof(decimal))); DetalleActitudinalNotas.Columns.Add(new DataColumn("Total", typeof(decimal))); //Se cargan el alumno AlumnoModel AlumnoActual = new AlumnoBL().ObtenerxId(ColegioActualId, alumnoId); if (AlumnoActual != null) { EncabezadoAlumno.Rows.Add(alumnoId, AlumnoActual.Alumno, string.Format("CICLO ESCOLAR {0}", AlumnoActual.Ciclo), AlumnoActual.Grado, AlumnoActual.Seccion, AlumnoActual.Jornada); } //Se carga las notas List <NotaModel> TNotas = new GradoBL().ObtenerNotasxAlumno(id, seccionId, ColegioActualId, alumnoId); if (TNotas != null && TNotas.Count() > 0) { List <long> UnidadIds = new List <long>() { 20201108001, 20201108002, 20201108003, 20201108004 }; List <string> CursoNormalesIds = TNotas.Where(x => x.Actitudinal == 0).OrderBy(x => x.Curso).Select(x => x.Curso).Distinct().ToList(); List <string> CursoActitudinalIds = TNotas.Where(x => x.Actitudinal == 1).OrderBy(x => x.Curso).Select(x => x.Curso).Distinct().ToList(); //Cursos Normales int Correlativo = 1; foreach (string CursoActual in CursoNormalesIds) { decimal NotaUnidad1 = 0; decimal NotaUnidad2 = 0; decimal NotaUnidad3 = 0; decimal NotaUnidad4 = 0; decimal TPromedio = 0; decimal Promedio = 0; int CantidadUnidad = 1; NotaModel TNotaUnidad1 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108001).FirstOrDefault(); if (TNotaUnidad1 != null) { NotaUnidad1 = TNotaUnidad1.Nota; } NotaModel TNotaUnidad2 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108002).FirstOrDefault(); if (TNotaUnidad2 != null) { NotaUnidad2 = TNotaUnidad2.Nota; if (NotaUnidad2 > 0) { CantidadUnidad = 2; } } NotaModel TNotaUnidad3 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108003).FirstOrDefault(); if (TNotaUnidad3 != null) { NotaUnidad3 = TNotaUnidad3.Nota; if (NotaUnidad3 > 0) { CantidadUnidad = 3; } } NotaModel TNotaUnidad4 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108004).FirstOrDefault(); if (TNotaUnidad4 != null) { NotaUnidad4 = TNotaUnidad4.Nota; if (NotaUnidad4 > 0) { CantidadUnidad = 4; } } TPromedio = decimal.Round(NotaUnidad1 + NotaUnidad2 + NotaUnidad3 + NotaUnidad4, 2); if (TPromedio > 0) { Promedio = TPromedio / CantidadUnidad; } DetalleNotas.Rows.Add(alumnoId, Correlativo, CursoActual, NotaUnidad1, NotaUnidad2, NotaUnidad3, NotaUnidad4, Promedio); Correlativo++; } //Cursos Actitudinal foreach (string CursoActual in CursoActitudinalIds) { decimal NotaUnidad1 = 0; decimal NotaUnidad2 = 0; decimal NotaUnidad3 = 0; decimal NotaUnidad4 = 0; decimal TPromedio = 0; decimal Promedio = 0; int CantidadUnidad = 1; NotaModel TNotaUnidad1 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108001).FirstOrDefault(); if (TNotaUnidad1 != null) { NotaUnidad1 = TNotaUnidad1.Nota; } NotaModel TNotaUnidad2 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108002).FirstOrDefault(); if (TNotaUnidad2 != null) { NotaUnidad2 = TNotaUnidad2.Nota; if (NotaUnidad2 > 0) { CantidadUnidad = 2; } } NotaModel TNotaUnidad3 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108003).FirstOrDefault(); if (TNotaUnidad3 != null) { NotaUnidad3 = TNotaUnidad3.Nota; if (NotaUnidad3 > 0) { CantidadUnidad = 3; } } NotaModel TNotaUnidad4 = TNotas.Where(x => x.Curso.Equals(CursoActual) && x.UnidadId == 20201108004).FirstOrDefault(); if (TNotaUnidad4 != null) { NotaUnidad4 = TNotaUnidad4.Nota; if (NotaUnidad4 > 0) { CantidadUnidad = 4; } } TPromedio = decimal.Round(NotaUnidad1 + NotaUnidad2 + NotaUnidad3 + NotaUnidad4, 2); if (TPromedio > 0) { Promedio = TPromedio / CantidadUnidad; } DetalleActitudinalNotas.Rows.Add(alumnoId, CursoActual, NotaUnidad1, NotaUnidad2, NotaUnidad3, NotaUnidad4, Promedio); } } //Se cargan la asistencia AsistenciaModel AsistenciaActual = new GradoBL().ObtenerAsistenciaxAlumno(id, seccionId, ColegioActualId, alumnoId); if (AsistenciaActual != null) { Asistencia.Rows.Add(alumnoId, AsistenciaActual.Si, AsistenciaActual.No, AsistenciaActual.Tarde); } Notas.Tables.Add(EncabezadoColegio); Notas.Tables.Add(EncabezadoAlumno); Notas.Tables.Add(DetalleNotas); Notas.Tables.Add(Asistencia); Notas.Tables.Add(DetalleActitudinalNotas); // Se define la ruta del reporte var reportPath = Server.MapPath("~/Reports/ReportNotaxAlumno.rdlc"); // se obtienen los bytes del reporte en pdf var bytes = GetNotaReportBytes(reportPath, Notas, 8.5m, 11.0m, 0m, 0m); return(File(bytes, "application/pdf")); } return(View()); }