//public ExamenTestRpt GetDetailTestReport( ExamenInfo item, // CompanyInfo empresa, // Preguntas lista_preguntas) //{ // if (item == null) return null; // ExamenTestRpt doc = new ExamenTestRpt(); // List<ExamenPrint> pList = new List<ExamenPrint>(); // List<PreguntaExamenInfo> preguntas = new List<PreguntaExamenInfo>(); // List<RespuestaExamenPrint> respuestas = new List<RespuestaExamenPrint>(); // foreach (PreguntaExamenInfo info in item.PreguntaExamenes) // { // bool imagen = true; // preguntas.Add(info.GetPrintObject(lista_preguntas)); // foreach (RespuestaExamenInfo r_info in info.RespuestaExamenes) // { // respuestas.Add(r_info.GetPrintObject(info, lista_preguntas, item, imagen)); // imagen = false; //será verdadero sólo en la primera iteración, para que sólo cargue la imagen una vez // } // } // //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.Subreports["RespuestaExamenListSubRpt"].SetDataSource(respuestas); // doc.SetParameterValue("Empresa", empresa.Name); // //FormatReport(doc, preguntas); // return doc; //} public ExamenTestRpt GetDetailTestReport(ExamenInfo item, CompanyInfo empresa, PreguntaList lista_preguntas) { if (item == null) { return(null); } ExamenTestRpt doc = new ExamenTestRpt(); List <ExamenPrint> pList = new List <ExamenPrint>(); List <PreguntaExamenInfo> preguntas = new List <PreguntaExamenInfo>(); List <RespuestaExamenPrint> respuestas = new List <RespuestaExamenPrint>(); foreach (PreguntaExamenInfo info in item.PreguntaExamenes) { bool imagen = true; preguntas.Add(PreguntaExamenPrint.New(info, lista_preguntas)); foreach (RespuestaExamenInfo r_info in info.RespuestaExamenes) { respuestas.Add(RespuestaExamenPrint.New(r_info, info, lista_preguntas, item, imagen)); imagen = false; //será verdadero sólo en la primera iteración, para que sólo cargue la imagen una vez } } //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); if (empresa.Oid == 2) { ((CrystalDecisions.CrystalReports.Engine.FieldObject)(doc.Section5.ReportObjects["Empresa1"])).Color = System.Drawing.Color.FromArgb(13, 176, 46); } doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(respuestas); doc.SetParameterValue("Empresa", empresa.Name); //FormatReport(doc, preguntas); return(doc); }
public RespuestaExamenPrint GetPrintObject(PreguntaExamenInfo pregunta, Preguntas preguntas, ExamenInfo examen, bool imagen) { return(RespuestaExamenPrint.New(this, pregunta, preguntas, examen, imagen)); }