// lo que devuelve esta funcion es lo se manda a llamar  en el dsBoletin
        public List<reportesDTO.reporteDTOPeriodo> c_reporteI(string idEstudiante, string idPeriodo, string idGrupo, string observacion)
        {
            try
            {
                reportesDTO.reporteDTOPeriodo Bmm = new reportesDTO.reporteDTOPeriodo();
                List<reportesDTO.reporteDTOPeriodo> Boletin = new List<reportesDTO.reporteDTOPeriodo>();
                // primero verifacmos que este habilitado el reporte para el estudiante,
                reportes R = bd.reportes.Where(t =>
                t.id_grupo == idGrupo &&
                t.id_estudiante == idEstudiante &&
                t.id_periodo == idPeriodo
                ).FirstOrDefault();
                if (R == null)
                {
                    Bmm.resultado = "Este reporte que solicita no ha sido generado por la administración.";
                    Boletin.Add(Bmm);
                    return Boletin;
                }
                else if (R.acceso.ToString() == "TRUE")
                {
                    List<matricula2> k = bd.matricula2.Where(t =>
                    t.id_grupo == idGrupo && t.id_estudiante == idEstudiante).OrderBy(t => t.id_estudiante).ToList();
                    // OBTENEMOS LAS ASIGNATURAS QUE TIENE ESE GRUPO
                    List<matricula1> kk = bd.matricula1.Where(t => t.id_grupo == idGrupo).ToList();
                    if (k.Count != 0)
                    {
                        foreach (matricula2 item in k) //  CHEQUEO EL ESTUDIANTE PARA ARMAR SU BOLETIN....
                        {
                            List<reportesDTO.b_Body> Body = new List<reportesDTO.b_Body>();
                            reportesDTO.b_Head Head = new reportesDTO.b_Head();
                            int b = 0;
                            float nota_prom = 0;
                            int conta = 1;
                            foreach (matricula1 item2 in kk) // CHEQUEO LAS ASIGNATURAS QUE CONTIENE EL GRUPO
                            {
                                string eitem = item.id_estudiante.ToString();
                                string aitem2 = item2.id_asignatura.ToString();
                                reportesDTO.b_Body BodyObj = new reportesDTO.b_Body();
                                notas N = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                        t.id_periodo == idPeriodo && t.id_asignatura == aitem2).FirstOrDefault();
                                if (b == 0)
                                {
                                    Head.estudiante = item.personas1.apellidos.ToString() + " " + item.personas1.nombres.ToString();
                                    Head.ano = item2.grupos.año.ToString();
                                    Head.grado = item2.grupos.grados.nom_grado.ToString();
                                    Head.grupo = item2.id_grupo.ToString();
                                    Head.id = item.id_estudiante.ToString();
                                    Head.periodo = idPeriodo;
                                    b = 1;
                                }
                                if (N != null) // registramos como 0  si no hay nada
                                {
                                    BodyObj.area = item2.asignatura.area.ToString();
                                    BodyObj.asig = item2.asignatura.nombre.ToString();
                                    BodyObj.ih = item2.asignatura.horas.ToString();
                                    BodyObj.logro = N.logros.descripcion.ToString();
                                    Head.rango = N.periodos.rangoI + "-" + N.periodos.rangoF;
                                }
                                else
                                {
                                    BodyObj.area = item2.asignatura.area.ToString();
                                    BodyObj.asig = item2.asignatura.nombre.ToString();
                                    BodyObj.ih = item2.asignatura.horas.ToString();
                                    BodyObj.logro = "Sin asignar.";
                                }
                                if (N == null) // registramos como 0  si no hay nada
                                { BodyObj.nota = 0; }
                                else
                                {
                                  
                                        BodyObj.nota = AjustarNenEnEnteros(N.nota_s.ToString());
                                        if (BodyObj.nota == 0)//Quiere decir que NO hay superacion y configuramos con la nota principal
                                        {
                                            BodyObj.nota = AjustarNenEnEnteros(N.nota.ToString());
                                        }
                                        else //Quiere decir que SI hay superacion y configuramos con la nota superada
                                        {
                                            BodyObj.nota = AjustarNenEnEnteros(N.nota_s.ToString());
                                        }
                                }
                                BodyObj.equival = validarEquivalenciaSimpleEnEnt(Convert.ToString(BodyObj.nota));
                                Body.Add(BodyObj);
                                // PREGUNTO SI YA LLEGO AL LIMETE DE LA CANTIDAD DE ASIGNATURAS EN EL GRUPO
                                if (conta == kk.Count)
                                {
                                    List<puestosDef> O = OrganizarPuestos(idPeriodo, idGrupo);
                                    puestosDef P = O.Where(t => t.id_estudiante == idEstudiante).FirstOrDefault();
                                    if (P != null)
                                    {
                                        nota_prom = P.nota_prom;
                                        Head.puesto = P.No;
                                        if (nota_prom==0 || nota_prom==100 || nota_prom.ToString().Length ==2)
                                        {
                                            Head.nota_prom = Convert.ToString(nota_prom);
                                        }
                                        else
                                        {
                                            Head.nota_prom = Convert.ToString(nota_prom).Substring(0, 4);
                                        }
                                    }
                                    else
                                    {
                                        nota_prom = 0;
                                        Head.nota_prom = Convert.ToString(nota_prom);
                                        Head.puesto = 0;
                                    }



                                    if (nota_prom == 0 || nota_prom == 100 || nota_prom.ToString().Length == 2)
                                    {
                                        Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom));
                                    }
                                    else
                                    {
                                        Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom).Substring(0, 2));
                                    }
                                    // AHORA COMENZAMOS A LLENAR LA LISTA QUE NECESITAMOS DEVOLVER

                                    foreach (reportesDTO.b_Body item3 in Body)
                                    {
                                        reportesDTO.reporteDTOPeriodo Bmmk = new reportesDTO.reporteDTOPeriodo();
                                        Bmmk.id = Head.id;
                                        Bmmk.estudiante = Head.estudiante;
                                        Bmmk.ano = Head.ano;
                                        Bmmk.grado = Head.grado;
                                        Bmmk.periodo = Head.periodo;
                                        Bmmk.rango = Head.rango;
                                        Bmmk.grupo = Head.grupo;

                                        Bmmk.equi_prom = Head.equi_prom;
                                        Bmmk.nota_prom = Head.nota_prom;
                                        Bmmk.puesto = Head.puesto;

                                        Bmmk.area = item3.area;
                                        Bmmk.asig = item3.asig;

                                        Bmmk.ih = item3.ih;
                                        Bmmk.nota = item3.nota;
                                        Bmmk.equival = item3.equival;
                                        Bmmk.logro = item3.logro;
                                        Bmmk.resultado = "c_yes";
                                        Boletin.Add(Bmmk);
                                    }
                                }
                                conta = conta + 1;
                            }
                        }
                        if (observacion == "SOLICITADO POR ACUDIENTE")
                        {
                            R.notificacion = "VISTA";
                            bd.SaveChanges();
                        }
                        return Boletin;
                    }
                    else
                    {
                        Bmm.resultado = "c_no";
                        Boletin.Add(Bmm);
                        return Boletin;
                    }
                }
                else
                {
                    Bmm.resultado = "El reporte que esta solicitando no esta habilitado por el colegio. Contactese con la administración de la institución.";
                    Boletin.Add(Bmm);
                    return Boletin;
                }
            }
            catch
            {
                return null;
            }
        }
        private static void llenarObjetoI(List<reportesDTO.reporteDTOPeriodo> Boletin, List<reportesDTO.b_Body> Body, reportesDTO.b_Head Head)
        {

            foreach (reportesDTO.b_Body item3 in Body)
            {
                reportesDTO.reporteDTOPeriodo Bmmk = new reportesDTO.reporteDTOPeriodo();
                Bmmk.id = Head.id;
                Bmmk.estudiante = Head.estudiante;
                Bmmk.ano = Head.ano;
                Bmmk.grado = Head.grado;
                Bmmk.periodo = Head.periodo;
                Bmmk.rango = Head.rango;
                Bmmk.grupo = Head.grupo;

                Bmmk.equi_prom = Head.equi_prom;
                Bmmk.nota_prom = Head.nota_prom;
                Bmmk.puesto = Head.puesto;

                Bmmk.area = item3.area;
                Bmmk.asig = item3.asig;

                Bmmk.ih = item3.ih;
                Bmmk.nota = item3.nota;
                Bmmk.equival = item3.equival;
                Bmmk.logro = item3.logro;
                Bmmk.resultado = "c_yes";
                Boletin.Add(Bmmk);
            }
        }
Esempio n. 3
0
        public List<reportesDTO.reporteDTOPeriodo> c_reporteI(string idEstudiante, string idPeriodo, string idGrupo, string observacion)
        {
            try
            {
                reportesDTO.reporteDTOPeriodo Bmm = new reportesDTO.reporteDTOPeriodo();
                List<reportesDTO.reporteDTOPeriodo> Boletin = new List<reportesDTO.reporteDTOPeriodo>();
                reportes R = bd.reportes.Where(t =>
                t.id_grupo == idGrupo &&
                t.id_estudiante == idEstudiante &&
                t.id_periodo == idPeriodo
                ).FirstOrDefault();
                if (R == null)
                {
                    Bmm.resultado = "Este reporte que solicita no ha sido generado por la administración.";
                    Boletin.Add(Bmm);
                    return Boletin;
                }
                else if (R.acceso.ToString() == "TRUE")
                {
                    List<matricula2> k = bd.matricula2.Where(t =>
                    t.id_grupo == idGrupo && t.id_estudiante == idEstudiante).OrderBy(t => t.id_estudiante).ToList();
                    List<matricula1> kk = bd.matricula1.Where(t => t.id_grupo == idGrupo).ToList();
                    if (k.Count != 0)
                    {
                        foreach (matricula2 item in k)
                        {
                            List<reportesDTO.b_Body> Body = new List<reportesDTO.b_Body>();
                            reportesDTO.b_Head Head = new reportesDTO.b_Head();
                            int b = 0;
                            float nota_prom = 0;
                            int conta = 1;
                            foreach (matricula1 item2 in kk)
                            {
                                string eitem = item.id_estudiante.ToString();
                                string aitem2 = item2.id_asignatura.ToString();
                                reportesDTO.b_Body BodyObj = new reportesDTO.b_Body();
                                notas N = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                        t.id_periodo == idPeriodo && t.id_asignatura == aitem2).FirstOrDefault();
                                if (b == 0)
                                {
                                    Head.estudiante = item.personas1.apellidos.ToString() + " " + item.personas1.nombres.ToString();
                                    Head.ano = item2.grupos.año.ToString();
                                    Head.grado = item2.grupos.grados.nom_grado.ToString();
                                    Head.grupo = item2.id_grupo.ToString();
                                    Head.id = item.id_estudiante.ToString();
                                    Head.periodo = idPeriodo;
                                    b = 1;
                                }
                                if (N != null)
                                {
                                    BodyObj.area = item2.asignatura.area.ToString();
                                    BodyObj.asig = item2.asignatura.nombre.ToString();
                                    BodyObj.ih = item2.asignatura.horas.ToString();
                                    BodyObj.logro = N.logros.descripcion.ToString();
                                    Head.rango = N.periodos.rangoI + "-" + N.periodos.rangoF;
                                }
                                else
                                {
                                    BodyObj.area = item2.asignatura.area.ToString();
                                    BodyObj.asig = item2.asignatura.nombre.ToString();
                                    BodyObj.ih = item2.asignatura.horas.ToString();
                                    BodyObj.logro = "Sin asignar.";
                                }
                                if (N == null)
                                { BodyObj.nota = 0; }
                                else
                                {
                                    BodyObj.nota = AjustarNenEnEnteros(N.nota_s.ToString());
                                    if (BodyObj.nota == 0)
                                        BodyObj.nota = AjustarNenEnEnteros(N.nota.ToString());
                                    else
                                        BodyObj.nota = AjustarNenEnEnteros(N.nota_s.ToString());
                                }
                                BodyObj.equival = validarEquivalenciaSimpleEnEnt(Convert.ToString(BodyObj.nota));
                                Body.Add(BodyObj);
                                if (conta == kk.Count)
                                {
                                    List<puestosDef> O = OrganizarPuestos(idPeriodo, idGrupo);
                                    puestosDef P = O.Where(t => t.id_estudiante == idEstudiante).FirstOrDefault();
                                    if (P != null)
                                    {
                                        nota_prom = P.nota_prom;
                                        Head.puesto = P.No;
                                        if (nota_prom == 0 || nota_prom == 100 || nota_prom.ToString().Length == 2)
                                            Head.nota_prom = Convert.ToString(nota_prom);
                                        else
                                            Head.nota_prom = Convert.ToString(nota_prom).Substring(0, 4);
                                    }
                                    else
                                    {
                                        nota_prom = 0;
                                        Head.nota_prom = Convert.ToString(nota_prom);
                                        Head.puesto = 0;
                                    }

                                    if (nota_prom == 0 || nota_prom == 100 || nota_prom.ToString().Length == 2)
                                        Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom));
                                    else
                                        Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom).Substring(0, 2));
                                    foreach (reportesDTO.b_Body item3 in Body)
                                    {
                                        reportesDTO.reporteDTOPeriodo Bmmk = new reportesDTO.reporteDTOPeriodo();
                                        Bmmk.id = Head.id;
                                        Bmmk.estudiante = Head.estudiante;
                                        Bmmk.ano = Head.ano;
                                        Bmmk.grado = Head.grado;
                                        Bmmk.periodo = Head.periodo;
                                        Bmmk.rango = Head.rango;
                                        Bmmk.grupo = Head.grupo;
                                        Bmmk.equi_prom = Head.equi_prom;
                                        Bmmk.nota_prom = Head.nota_prom;
                                        Bmmk.puesto = Head.puesto;
                                        Bmmk.area = item3.area;
                                        Bmmk.asig = item3.asig;
                                        Bmmk.ih = item3.ih;
                                        Bmmk.nota = item3.nota;
                                        Bmmk.equival = item3.equival;
                                        Bmmk.logro = item3.logro;
                                        Bmmk.resultado = "c_yes";
                                        Boletin.Add(Bmmk);
                                    }
                                }
                                conta = conta + 1;
                            }
                        }
                        if (observacion == "SOLICITADO POR ACUDIENTE")
                        {
                            R.notificacion = "VISTA";
                            bd.SaveChanges();
                        }
                        return Boletin;
                    }
                    else
                    {
                        Bmm.resultado = "c_no";
                        Boletin.Add(Bmm);
                        return Boletin;
                    }
                }
                else
                {
                    Bmm.resultado = "El reporte que esta solicitando no esta habilitado por el colegio. Contactese con la administración de la institución.";
                    Boletin.Add(Bmm);
                    return Boletin;
                }
            }
            catch
            {
                return null;
            }
        }
        public List<reportesDTO.reporteDTOPeriodo> c_reporteGrupo(string idPeriodo, string idGrupo, string observacion)
        {
            try
            {
                reportesDTO.reporteDTOPeriodo Bmm = new reportesDTO.reporteDTOPeriodo();
                List<reportesDTO.reporteDTOPeriodo> Boletin = new List<reportesDTO.reporteDTOPeriodo>();
                List<matricula2> k = bd.matricula2.Where(t =>
                t.id_grupo == idGrupo).OrderBy(t => t.id_estudiante).ToList();
                List<matricula1> kk = bd.matricula1.Where(t => t.id_grupo == idGrupo).ToList();
                if (k.Count != 0)
                {
                    int j = 1;
                    foreach (matricula2 item in k) //  CHEQUEO EL ESTUDIANTE PARA ARMAR SU BOLETIN....
                    {
                        List<reportesDTO.b_Body> Body = new List<reportesDTO.b_Body>();
                        reportesDTO.b_Head Head = new reportesDTO.b_Head();
                        int b = 0;
                        float nota_prom = 0;
                        int conta = 1;
                        foreach (matricula1 item2 in kk) // CHEQUEO LAS ASIGNATURAS QUE CONTIENE EL GRUPO
                        {
                            string eitem = item.id_estudiante.ToString();
                            string aitem2 = item2.id_asignatura.ToString();
                            b = estruturaBoletinI(idPeriodo, idGrupo, item, Body, Head, b, item2, eitem, aitem2);
                            if (conta == kk.Count)  // PREGUNTO SI YA LLEGO AL LIMETE DE LA CANTIDAD DE ASIGNATURAS EN EL GRUPO
                            {
                                List<puestosDef> O = OrganizarPuestos(idPeriodo, idGrupo);
                                puestosDef P = O.Where(t => t.id_estudiante == eitem).FirstOrDefault();
                                if (P != null)
                                {
                                    nota_prom = P.nota_prom;
                                    Head.puesto = P.No;
                                    string h = Convert.ToString(nota_prom);
                                    if (h=="0" || h=="100" || h.Length==2)
                                    {
                                         Head.nota_prom = h;
                                    }
                                    else
                                    {
                                        Head.nota_prom = h.Substring(0,4);
                                    }
                                }
                                else
                                {
                                    nota_prom = 0;
                                    Head.nota_prom = Convert.ToString(nota_prom);
                                    Head.puesto = 0;
                                }
                                if (nota_prom == 100 || nota_prom == 0) //quiere decir que sacó 100 en todo
                                {
                                    Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom));
                                }
                                else { Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom).Substring(0, 2)); }
                                // AHORA COMENZAMOS A LLENAR LA LISTA QUE NECESITAMOS DEVOLVER
                                llenarObjetoI(Boletin, Body, Head);
                            }
                            conta = conta + 1;
                        }

                        j++;
                    }
                    // ORGANIZAMOS POR PUESTO.
                    Boletin = Boletin.OrderBy(t => t.puesto).ToList();
                    return Boletin;
                }
                else
                {
                    Bmm.resultado = "c_no";
                    Boletin.Add(Bmm);
                    return Boletin;
                }
            }
            catch (Exception Ex)
            {

                string g = Ex.Message.ToString();
                return null;
            }
        }
Esempio n. 5
0
 public List<reportesDTO.reporteDTOPeriodo> c_reporteGrupo(string idPeriodo, string idGrupo, string observacion)
 {
     try
     {
         reportesDTO.reporteDTOPeriodo Bmm = new reportesDTO.reporteDTOPeriodo();
         List<reportesDTO.reporteDTOPeriodo> Boletin = new List<reportesDTO.reporteDTOPeriodo>();
         List<matricula2> k = bd.matricula2.Where(t =>
         t.id_grupo == idGrupo).OrderBy(t => t.id_estudiante).ToList();
         List<matricula1> kk = bd.matricula1.Where(t => t.id_grupo == idGrupo).ToList();
         if (k.Count != 0)
         {
             int j = 1;
             foreach (matricula2 item in k)
             {
                 List<reportesDTO.b_Body> Body = new List<reportesDTO.b_Body>();
                 reportesDTO.b_Head Head = new reportesDTO.b_Head();
                 int b = 0;
                 float nota_prom = 0;
                 int conta = 1;
                 foreach (matricula1 item2 in kk) 
                 {
                     string eitem = item.id_estudiante.ToString();
                     string aitem2 = item2.id_asignatura.ToString();
                     b = estruturaBoletinI(idPeriodo, idGrupo, item, Body, Head, b, item2, eitem, aitem2);
                     if (conta == kk.Count) 
                     {
                         List<puestosDef> O = OrganizarPuestos(idPeriodo, idGrupo);
                         puestosDef P = O.Where(t => t.id_estudiante == eitem).FirstOrDefault();
                         if (P != null)
                         {
                             nota_prom = P.nota_prom;
                             Head.puesto = P.No;
                             string h = Convert.ToString(nota_prom);
                             if (h == "0" || h == "100" || h.Length == 2)
                                 Head.nota_prom = h;
                             else
                                 Head.nota_prom = h.Substring(0, 4);
                         }
                         else
                             nota_prom = 0;
                             Head.nota_prom = Convert.ToString(nota_prom);
                             Head.puesto = 0;
                         if (nota_prom == 100 || nota_prom == 0) 
                         {
                             Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom));
                         }
                         else { Head.equi_prom = validarEquivalenciaSimpleEnEnt(Convert.ToString(nota_prom).Substring(0, 2)); }
                         llenarObjetoI(Boletin, Body, Head);
                     }
                     conta = conta + 1;
                 }
                 j++;
             }
             Boletin = Boletin.OrderBy(t => t.puesto).ToList();
             return Boletin;
         }
         else
         {
             Bmm.resultado = "c_no";
             Boletin.Add(Bmm);
             return Boletin;
         }
     }
     catch (Exception Ex)
     {
         string g = Ex.Message.ToString();
         return null;
     }
 }