public AsistenciaExamenRpt GetDetailAsistenciaExamenReport(ExamenInfo item, PromocionList promociones, List <Alumno_ExamenInfo> _alumnos, CompanyInfo empresa, string promocion) { if (item == null) { return(null); } AsistenciaExamenRpt doc = new AsistenciaExamenRpt(); AlumnoList lista = AlumnoList.GetList(false); List <ExamenPrint> pList = new List <ExamenPrint>(); List <Alumno_ExamenPrint> alumnos = new List <Alumno_ExamenPrint>(); int i = 1; bool isIn = false; foreach (Alumno_ExamenInfo info in _alumnos) { isIn = false; foreach (ExamenPrint exam in pList) { if (exam.OidPromocionAlumno == info.OidPromocion) { isIn = true; } } if (!isIn) { pList.Add(item.GetPrintObject(empresa, promocion, string.Empty)); } alumnos.Add(info.GetPrintObject(lista.GetItem(info.OidAlumno), i++, false)); } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (alumnos.Count <= 0) { return(null); } if (pList.Count == 0) { pList.Add(item.GetPrintObject(empresa, string.Empty)); } doc.SetDataSource(pList); doc.Subreports["AsistenciaExamenAlumnosListSubRpt"].SetDataSource(alumnos); return(doc); }
public new static IAgenteHipatiaList GetAgentes(EntidadInfo entidad) { IAgenteHipatiaList lista = new IAgenteHipatiaList(new List <IAgenteHipatia>()); if (entidad.Tipo == typeof(Alumno).Name) { AlumnoList alumnos = AlumnoList.GetList(false); foreach (AlumnoInfo obj in alumnos) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Instructor).Name) { InstructorList instructores = InstructorList.GetList(false); foreach (InstructorInfo obj in instructores) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Promocion).Name) { PromocionList promociones = PromocionList.GetList(false); foreach (PromocionInfo obj in promociones) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Curso).Name) { CursoList cursos = CursoList.GetList(false); foreach (CursoInfo obj in cursos) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else if (entidad.Tipo == typeof(Modulo).Name) { ModuloList modulos = ModuloList.GetList(false); foreach (ModuloInfo obj in modulos) { if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null) { lista.Add(obj); } } } else { throw new iQException("No se ha encontrado el tipo de entidad " + entidad.Tipo); } return(lista); }