Esempio n. 1
0
        public void Insert(NotaModel notaModel)
        {
            var nota = notaModel.ToEntity();

            NotaHelper.Insert(nota);
        }
Esempio n. 2
0
 public void Update(NotaModel notaModel)
 {
     NotaHelper.Update(notaModel.ToEntity());
 }
Esempio n. 3
0
        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());
        }