public NotaPracticasAlumnoRpt GetDetailReport(CompanyInfo empresa, AlumnoPrint alumno, string promos,
                                                      NotaPracticasList registros)
        {
            if (registros == null)
            {
                return(null);
            }
            NotaPracticasAlumnoRpt doc = new NotaPracticasAlumnoRpt();

            List <CompanyInfo>       pList  = new List <CompanyInfo>();
            List <NotaPracticasInfo> faltas = new List <NotaPracticasInfo>();

            foreach (NotaPracticasInfo info in registros)
            {
                faltas.Add(info);
            }

            //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports
            if (faltas.Count <= 0)
            {
                return(null);
            }

            pList.Add(empresa);

            doc.SetDataSource(pList);
            doc.SetParameterValue("Empresa", empresa.Name);
            doc.SetParameterValue("Alumno", alumno.Nombre + " " + alumno.Apellidos);
            doc.SetParameterValue("Promoción", promos);
            if (empresa.Oid == 2)
            {
                ((CrystalDecisions.CrystalReports.Engine.TextObject)(doc.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46);
            }

            doc.Subreports["NotaPracticasListSubRpt"].SetDataSource(registros);

            //FormatReport(doc);

            return(doc);
        }
 public AlumnoPrint GetPrintObject()
 {
     return(AlumnoPrint.New(this));
 }