protected void ExportaCR(ETipoPagina pagina, CompanyInfo empresa)
        {
            ISchemaInfo schema = AppContext.ActiveSchema;

            try
            {
                schema = empresa as ISchemaInfo;
                if (schema == null)
                {
                    schema = AppContext.ActiveSchema;
                }
            }
            catch
            {
            }
            ExamenReportMng reportMng = new ExamenReportMng(schema);

            switch (pagina)
            {
            case ETipoPagina.Portada:

                PortadaExamenRpt portada = reportMng.GetPortadaReport(Entity,
                                                                      empresa);
                ReportViewer.SetReport(portada);
                ReportViewer.ShowDialog();

                break;

            case ETipoPagina.Preguntas:

                ExamenDesarrolloRpt examen = reportMng.GetDetailDesarrolloReport(Entity,
                                                                                 empresa,
                                                                                 _preguntas);
                examen.SetParameterValue("Empresa", empresa.Name);
                if (empresa.Oid == 2)
                {
                    ((CrystalDecisions.CrystalReports.Engine.TextObject)(examen.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46);
                }
                ReportViewer.SetReport(examen);
                ReportViewer.ShowDialog();

                if (Directory.Exists(".\\Temp"))
                {
                    Directory.Delete(".\\Temp", true);
                }

                break;
            }
        }
        public ExamenDesarrolloRpt GetDetailDesarrolloReport(ExamenInfo item, CompanyInfo empresa, PreguntaList lista_preguntas)
        {
            if (item == null)
            {
                return(null);
            }
            ExamenDesarrolloRpt doc = new ExamenDesarrolloRpt();

            List <ExamenPrint>         pList     = new List <ExamenPrint>();
            List <PreguntaExamenPrint> preguntas = new List <PreguntaExamenPrint>();

            foreach (PreguntaExamenInfo info in item.PreguntaExamenes)
            {
                preguntas.Add(info.GetPrintObject(lista_preguntas));
            }

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

            pList.Add(item.GetPrintObject(empresa, string.Empty));

            doc.SetDataSource(pList);
            doc.SetParameterValue("Empresa", empresa.Name);
            if (empresa.Oid == 2)
            {
                ((CrystalDecisions.CrystalReports.Engine.TextObject)(doc.Section5.ReportObjects["Text1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46);
            }

            doc.Subreports["PreguntaExamenListSubRpt"].SetDataSource(preguntas);
            doc.SetParameterValue("Empresa", empresa.Name);

            //FormatReport(doc, empresa.Logo);

            return(doc);
        }