// lo que devuelve esta funcion es lo se manda a llamar  en el dsBoletinF
        public List<reportesDTO.reporteDTOFin> c_reporteFinal(string idEstudiante, string idGrupo, string observacion)
        {
            try
            {
                List<reportesDTO.reporteDTOFin> Boletin = new List<reportesDTO.reporteDTOFin>();
                reportesDTO.reporteDTOFin Bmm = new reportesDTO.reporteDTOFin();
                string[] Ano = idGrupo.Split('-');
                string ano = Ano[0];

                //=========================================================================================
                reportes R = bd.reportes.Where(t =>
                        t.id_grupo == idGrupo &&
                        t.id_estudiante == idEstudiante &&
                        t.id_periodo == (ano +"-"+"V")).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....
                        {
                            int conta = 0;
                            float nota_prom = 0;
                            List<reportesDTO.b_BodyFin> Body = new List<reportesDTO.b_BodyFin>();
                            reportesDTO.b_headFin Head = new reportesDTO.b_headFin();
                            int b = 0;
                            // CONSULTO LAS NOTAS PARA EL PERIOD V , ES DECIR SOLO LOS LOGROS.
                            foreach (matricula1 item2 in kk) // CHEQUEO LAS ASIGNATURAS QUE CONTIENE EL GRUPO
                            {
                                reportesDTO.b_BodyFin BodyObj = new reportesDTO.b_BodyFin();
                                // AHOR PROCESAMOS LOS ACOMULADOS DE ACURDO A LAS NOTAS ANTERIORES
                                //Y EL CUERPO DEL BOLETIN DE ACUERDO A LAS MATERIAS QUE HAY EN EL GRUPO
                                string eitem = item.id_estudiante.ToString();
                                string aitem2 = item2.id_asignatura.ToString();
                                notas N = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                  t.id_periodo == (ano +"-"+"V") && 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 = "FINAL";
                                    Head.rango = "RESUMEN FINAL";
                                    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();
                                }
                                else
                                {
                                    BodyObj.area = item2.asignatura.area.ToString();
                                    BodyObj.asig = item2.asignatura.nombre.ToString();
                                    BodyObj.ih = item2.asignatura.horas.ToString();
                                    BodyObj.logro = "Sin asignar.";
                                }

                                notas NI = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                          t.id_periodo == (ano +"-"+"I") && t.id_asignatura == aitem2).FirstOrDefault();
                                notas NII = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                         t.id_periodo ==  (ano +"-"+"II") && t.id_asignatura == aitem2).FirstOrDefault();
                                notas NIII = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                         t.id_periodo ==  (ano +"-"+"III") && t.id_asignatura == aitem2).FirstOrDefault();
                                notas NIV = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                         t.id_periodo ==  (ano +"-"+"IV") && t.id_asignatura == aitem2).FirstOrDefault();

                                if (NI == null) // registramos como 0  si no hay nada
                                { BodyObj.I = 0; }
                                else
                                {
                                    BodyObj.I = AjustarNenEnEnteros(NI.nota_s.ToString());
                                    if (BodyObj.I == 0)//Quiere decir que NO hay superacion y configuramos con la nota principal
                                    {
                                        BodyObj.I = AjustarNenEnEnteros(NI.nota.ToString());
                                    }
                                    else //Quiere decir que SI hay superacion y configuramos con la nota superada
                                    {
                                        BodyObj.I = AjustarNenEnEnteros(NI.nota_s.ToString());
                                    }
                                }

                                if (NII == null) // registramos como 0  si no hay nada
                                { BodyObj.II = 0; }
                                else
                                {
                                    BodyObj.II = AjustarNenEnEnteros(NII.nota_s.ToString());
                                    if (BodyObj.II == 0)//Quiere decir que NO hay superacion y configuramos con la nota principal
                                    {
                                        BodyObj.II = AjustarNenEnEnteros(NII.nota.ToString());
                                    }
                                    else //Quiere decir que SI hay superacion y configuramos con la nota superada
                                    {
                                        BodyObj.II = AjustarNenEnEnteros(NII.nota_s.ToString());
                                    }
                                }
                                if (NIII == null) // registramos como 0  si no hay nada
                                { BodyObj.III = 0; }
                                else
                                {
                                    BodyObj.III = AjustarNenEnEnteros(NIII.nota_s.ToString());
                                    if (BodyObj.III == 0)//Quiere decir que NO hay superacion y configuramos con la nota principal
                                    {
                                        BodyObj.III = AjustarNenEnEnteros(NIII.nota.ToString());
                                    }
                                    else //Quiere decir que SI hay superacion y configuramos con la nota superada
                                    {
                                        BodyObj.III = AjustarNenEnEnteros(NIII.nota_s.ToString());
                                    }
                                }

                                if (NIV == null) // registramos como 0  si no hay nada
                                { BodyObj.IV = 0; }
                                else
                                {
                                    BodyObj.IV = AjustarNenEnEnteros(NIV.nota_s.ToString());
                                    if (BodyObj.IV == 0)//Quiere decir que NO hay superacion y configuramos con la nota principal
                                    {
                                        BodyObj.IV = AjustarNenEnEnteros(NIV.nota.ToString());
                                    }
                                    else //Quiere decir que SI hay superacion y configuramos con la nota superada
                                    {
                                        BodyObj.IV = AjustarNenEnEnteros(NIV.nota_s.ToString());
                                    }
                                }

                                int i = BodyObj.I;
                                int ii = BodyObj.II;
                                int iii = BodyObj.III;
                                int iv = BodyObj.IV;

                                float v = (i + ii + iii + iv) / 4; // Esta seria la nota promedio de CADA asignatura en el periodo V
                                decimal vv = Math.Round((decimal)v, 1);
                                BodyObj.notaV = vv;
                                //string i = Convert.();

                                nota_prom = v + nota_prom; // Esta seria la nota final del estudiante para sus asignaturas en todo el periodp V
                                BodyObj.equiv = validarEquivalenciaSimpleEnEnt(Convert.ToString(BodyObj.notaV)); // esta seria la equivalencia para el promedio del V general
                                Body.Add(BodyObj);
                                conta++;
                            }
                            // LUEGO DE CONSULTAR EL CUERPO DEL BOLETIN FINAL, PROCEDEMOS A DEVOLVERLO
                            //-----------Version Para notas en eenteros si deseas estas lineas comentarias las siguientes
                            string h = Convert.ToString(nota_prom / conta);
                            if (h.Length == 2||  h == "100" || h == "0")
                            {
                                Head.notaPromV = Convert.ToString(nota_prom / conta);
                                Head.equiPromV = validarEquivalenciaEnEnt(Convert.ToString(Head.notaPromV));
                            }
                            else
                            {
                                Head.notaPromV = Convert.ToString(nota_prom / conta).Substring(0, 4);
                                Head.equiPromV = validarEquivalenciaEnEnt(Convert.ToString(Head.notaPromV.Substring(0, 2)));
                            }

                            List<puestosDef> O = OrganizarPuestosBoletinFinal(idGrupo);
                            puestosDef P = O.Where(t => t.id_estudiante == idEstudiante).FirstOrDefault();
                            if (P != null)
                            {
                                Head.puesto = P.No;
                            }
                            else
                            {
                                Head.puesto = 0;
                            }
                            //----------------- AHORA SI LLENO EL OBJETO QUE VOY A DEVOLVER --------------
                            foreach (reportesDTO.b_BodyFin item2 in Body)
                            {
                                reportesDTO.reporteDTOFin Bmmk = new reportesDTO.reporteDTOFin();
                                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.notaPromV = Head.notaPromV;
                                Bmmk.equiPromV = Head.equiPromV;
                                Bmmk.puesto = Head.puesto;
                                //b_head
                                Bmmk.area = item2.area;
                                Bmmk.asig = item2.asig;
                                Bmmk.ih = item2.ih;
                                Bmmk.logro = item2.logro;
                                Bmmk.equiv = item2.equiv;
                                Bmmk.I = item2.I;
                                Bmmk.II = item2.II;
                                Bmmk.III = item2.III;
                                Bmmk.IV = item2.IV;
                                Bmmk.notaV = item2.notaV;
                                Bmmk.resultado = "c_yes";
                                Boletin.Add(Bmmk);
                            }
                        }
                        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; }
        }
Example #2
0
        public List<reportesDTO.reporteDTOFin> c_reporteFinal(string idEstudiante, string idGrupo, string observacion)
        {
            try
            {
                List<reportesDTO.reporteDTOFin> Boletin = new List<reportesDTO.reporteDTOFin>();
                reportesDTO.reporteDTOFin Bmm = new reportesDTO.reporteDTOFin();
                string[] Ano = idGrupo.Split('-');
                string ano = Ano[0];
                reportes R = bd.reportes.Where(t =>
                        t.id_grupo == idGrupo &&
                        t.id_estudiante == idEstudiante &&
                        t.id_periodo == (ano + "-" + "V")).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)
                        {
                            int conta = 0;
                            float nota_prom = 0;
                            List<reportesDTO.b_BodyFin> Body = new List<reportesDTO.b_BodyFin>();
                            reportesDTO.b_headFin Head = new reportesDTO.b_headFin();
                            int b = 0;
                            foreach (matricula1 item2 in kk)
                            {
                                reportesDTO.b_BodyFin BodyObj = new reportesDTO.b_BodyFin();
                                string eitem = item.id_estudiante.ToString();
                                string aitem2 = item2.id_asignatura.ToString();
                                notas N = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                  t.id_periodo == (ano + "-" + "V") && 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 = "FINAL";
                                    Head.rango = "RESUMEN FINAL";
                                    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();
                                }
                                else
                                {
                                    BodyObj.area = item2.asignatura.area.ToString();
                                    BodyObj.asig = item2.asignatura.nombre.ToString();
                                    BodyObj.ih = item2.asignatura.horas.ToString();
                                    BodyObj.logro = "Sin asignar.";
                                }

                                notas NI = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                          t.id_periodo == (ano + "-" + "I") && t.id_asignatura == aitem2).FirstOrDefault();
                                notas NII = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                         t.id_periodo == (ano + "-" + "II") && t.id_asignatura == aitem2).FirstOrDefault();
                                notas NIII = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                         t.id_periodo == (ano + "-" + "III") && t.id_asignatura == aitem2).FirstOrDefault();
                                notas NIV = bd.notas.Where(t => t.id_grupo == idGrupo && t.id_estudiante == eitem &&
                                                         t.id_periodo == (ano + "-" + "IV") && t.id_asignatura == aitem2).FirstOrDefault();
                                if (NI == null)
                                { BodyObj.I = 0; }
                                else
                                {
                                    BodyObj.I = AjustarNenEnEnteros(NI.nota_s.ToString());
                                    if (BodyObj.I == 0)
                                        BodyObj.I = AjustarNenEnEnteros(NI.nota.ToString());
                                    else
                                        BodyObj.I = AjustarNenEnEnteros(NI.nota_s.ToString());
                                }
                                if (NII == null)
                                { BodyObj.II = 0; }
                                else
                                {
                                    BodyObj.II = AjustarNenEnEnteros(NII.nota_s.ToString());
                                    if (BodyObj.II == 0)
                                        BodyObj.II = AjustarNenEnEnteros(NII.nota.ToString());
                                    else
                                        BodyObj.II = AjustarNenEnEnteros(NII.nota_s.ToString());
                                }
                                if (NIII == null)
                                { BodyObj.III = 0; }
                                else
                                {
                                    BodyObj.III = AjustarNenEnEnteros(NIII.nota_s.ToString());
                                    if (BodyObj.III == 0)
                                        BodyObj.III = AjustarNenEnEnteros(NIII.nota.ToString());
                                    else
                                        BodyObj.III = AjustarNenEnEnteros(NIII.nota_s.ToString());
                                }

                                if (NIV == null)
                                { BodyObj.IV = 0; }
                                else
                                {
                                    BodyObj.IV = AjustarNenEnEnteros(NIV.nota_s.ToString());
                                    if (BodyObj.IV == 0)
                                        BodyObj.IV = AjustarNenEnEnteros(NIV.nota.ToString());
                                    else
                                        BodyObj.IV = AjustarNenEnEnteros(NIV.nota_s.ToString());
                                }

                                int i = BodyObj.I;
                                int ii = BodyObj.II;
                                int iii = BodyObj.III;
                                int iv = BodyObj.IV;

                                float v = (i + ii + iii + iv) / 4;
                                decimal vv = Math.Round((decimal)v, 1);
                                BodyObj.notaV = vv;
                                nota_prom = v + nota_prom;
                                BodyObj.equiv = validarEquivalenciaSimpleEnEnt(Convert.ToString(BodyObj.notaV));
                                Body.Add(BodyObj);
                                conta++;
                            }
                            string h = Convert.ToString(nota_prom / conta);
                            if (h.Length == 2 || h == "100" || h == "0")
                            {
                                Head.notaPromV = Convert.ToString(nota_prom / conta);
                                Head.equiPromV = validarEquivalenciaEnEnt(Convert.ToString(Head.notaPromV));
                            }
                            else
                            {
                                Head.notaPromV = Convert.ToString(nota_prom / conta).Substring(0, 4);
                                Head.equiPromV = validarEquivalenciaEnEnt(Convert.ToString(Head.notaPromV.Substring(0, 2)));
                            }
                            List<puestosDef> O = OrganizarPuestosBoletinFinal(idGrupo);
                            puestosDef P = O.Where(t => t.id_estudiante == idEstudiante).FirstOrDefault();
                            if (P != null)
                                Head.puesto = P.No;
                            else
                                Head.puesto = 0;
                            foreach (reportesDTO.b_BodyFin item2 in Body)
                            {
                                reportesDTO.reporteDTOFin Bmmk = new reportesDTO.reporteDTOFin();
                                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.notaPromV = Head.notaPromV;
                                Bmmk.equiPromV = Head.equiPromV;
                                Bmmk.puesto = Head.puesto;
                                Bmmk.area = item2.area;
                                Bmmk.asig = item2.asig;
                                Bmmk.ih = item2.ih;
                                Bmmk.logro = item2.logro;
                                Bmmk.equiv = item2.equiv;
                                Bmmk.I = item2.I;
                                Bmmk.II = item2.II;
                                Bmmk.III = item2.III;
                                Bmmk.IV = item2.IV;
                                Bmmk.notaV = item2.notaV;
                                Bmmk.resultado = "c_yes";
                                Boletin.Add(Bmmk);
                            }
                        }
                        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.reporteDTOFin> c_reporteFinalGrupal(string idPeriodo, string idGrupo, string observacion)
        {
            try
            {
                List<reportesDTO.reporteDTOFin> Boletin = new List<reportesDTO.reporteDTOFin>();
                reportesDTO.reporteDTOFin Bmm = new reportesDTO.reporteDTOFin();
                List<matricula2> k = bd.matricula2.Where(t =>
                t.id_grupo == idGrupo).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)
                {
                    int c = 1;
                    foreach (matricula2 item in k) //  CHEQUEO EL ESTUDIANTE PARA ARMAR SU BOLETIN....
                    {
                        int conta = 0;
                        float nota_prom = 0;
                        List<reportesDTO.b_BodyFin> Body = new List<reportesDTO.b_BodyFin>();
                        reportesDTO.b_headFin Head = new reportesDTO.b_headFin();
                        int b = 0;
                        // CONSULTO LAS NOTAS PARA EL PERIOD V , ES DECIR SOLO LOS LOGROS.

                        ///-------------------------------------------------------------------------
                        estructuraBoletinG(idGrupo, kk, item, ref conta, ref nota_prom, Body, Head, ref b);
                        ///--------------------------------------------------------------------------
                        // LUEGO DE CONSULTAR EL CUERPO DEL BOLETIN FINAL, PROCEDEMOS A DEVOLVERLO
                        //------------------------ version en enteros ------ si no lo deseas comentarialo
                        string nPv = Convert.ToString(nota_prom / conta);
                        if (nPv.Length > 2)
                        {
                            Head.notaPromV = nPv.Substring(0, 4);
                        }
                        else if (nPv =="0") { Head.notaPromV = nPv; }
                        else { Head.notaPromV = nPv.Substring(0, 2); }


                        if (Head.notaPromV == "100" || Head.notaPromV == "0")
                        {
                            Head.equiPromV = validarEquivalenciaSimpleEnEnt(Convert.ToString(Head.notaPromV)); // 
                        }
                        else { Head.equiPromV = validarEquivalenciaSimpleEnEnt(Convert.ToString(Head.notaPromV.Substring(0, 2))); }
                       
                       
                        List<puestosDef> O = OrganizarPuestosBoletinFinal(idGrupo);
                        puestosDef P = O.Where(t => t.id_estudiante == item.id_estudiante.ToString()).FirstOrDefault();
                        if (P != null)
                        {
                            Head.puesto = P.No;
                        }
                        else
                        {
                            Head.puesto = 0;
                        }
                        //----------------- AHORA SI LLENO EL OBJETO QUE VOY A DEVOLVER --------------
                        llenarObjetoG(Boletin, Body, Head);
                        c++;

                    }
                    Boletin = Boletin.OrderBy(t => t.puesto).ToList();
                    return Boletin;
                }
                else
                {
                    Bmm.resultado = "c_no";
                    Boletin.Add(Bmm);
                    return Boletin;
                }
            }
            catch
            { return null; }
        }
Example #4
0
 public List<reportesDTO.reporteDTOFin> c_reporteFinalGrupal(string idPeriodo, string idGrupo, string observacion)
 {
     try
     {
         List<reportesDTO.reporteDTOFin> Boletin = new List<reportesDTO.reporteDTOFin>();
         reportesDTO.reporteDTOFin Bmm = new reportesDTO.reporteDTOFin();
         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 c = 1;
             foreach (matricula2 item in k)
             {
                 int conta = 0;
                 float nota_prom = 0;
                 List<reportesDTO.b_BodyFin> Body = new List<reportesDTO.b_BodyFin>();
                 reportesDTO.b_headFin Head = new reportesDTO.b_headFin();
                 int b = 0;
                 estructuraBoletinG(idGrupo, kk, item, ref conta, ref nota_prom, Body, Head, ref b);
                 string nPv = Convert.ToString(nota_prom / conta);
                 if (nPv.Length > 2)
                 {
                     if (nPv == "100")
                         Head.notaPromV = nPv;
                     else
                         Head.notaPromV = nPv.Substring(0, 4);
                 }
                 else if (nPv == "0") { Head.notaPromV = nPv; }
                 else { Head.notaPromV = nPv.Substring(0, 2); }
                 if (Head.notaPromV == "100" || Head.notaPromV == "0")
                     Head.equiPromV = validarEquivalenciaSimpleEnEnt(Convert.ToString(Head.notaPromV));  
                 else { Head.equiPromV = validarEquivalenciaSimpleEnEnt(Convert.ToString(Head.notaPromV.Substring(0, 2))); }
                 List<puestosDef> O = OrganizarPuestosBoletinFinal(idGrupo);
                 puestosDef P = O.Where(t => t.id_estudiante == item.id_estudiante.ToString()).FirstOrDefault();
                 if (P != null)
                     Head.puesto = P.No;
                 else
                     Head.puesto = 0;
                 llenarObjetoG(Boletin, Body, Head);
                 c++;
             }
             Boletin = Boletin.OrderBy(t => t.puesto).ToList();
             return Boletin;
         }
         else
         {
             Bmm.resultado = "c_no";
             Boletin.Add(Bmm);
             return Boletin;
         }
     }
     catch
     { return null; }
 }