// 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; } }
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; } }
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; } }