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);
        }
Exemple #2
0
        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);
        }