예제 #1
0
        // 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; }
        }
예제 #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; }
        }
예제 #3
0
        private void estructuraBoletinG(string idGrupo, List<matricula1> kk, matricula2 item, ref int conta, ref float nota_prom, List<reportesDTO.b_BodyFin> Body, reportesDTO.b_headFin Head, ref int b)
        {
            string[] Ano = idGrupo.Split('-');
            string ano = Ano[0];
            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";
                    //periodos P = bd.periodos.Where(t => t.id == idPeriodo).FirstOrDefault();
                    //Head.rango = P.rangoI + "-" + P.rangoF;
                    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++;
            }
        }
예제 #4
0
        private void estructuraBoletinG(string idGrupo, List<matricula1> kk, matricula2 item, ref int conta, ref float nota_prom, List<reportesDTO.b_BodyFin> Body, reportesDTO.b_headFin Head, ref int b)
        {
            string[] Ano = idGrupo.Split('-');
            string ano = Ano[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++;
            }
        }