public PreguntasDesarrolloRpt GetDetailPreguntasDesarrolloReport(PreguntaExamens lista_preguntas, Preguntas preguntas)
        {
            if (lista_preguntas == null)
            {
                return(null);
            }
            PreguntasDesarrolloRpt doc = new PreguntasDesarrolloRpt();

            List <PreguntaExamenInfo> preguntas_examen = new List <PreguntaExamenInfo>();

            foreach (PreguntaExamen item in lista_preguntas)
            {
                PreguntaExamenInfo info = item.GetInfo(true);
                preguntas_examen.Add(info.GetPrintObject(preguntas));
            }

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

            // doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(preguntas);

            return(doc);
        }
        public PreguntasTestRpt GetDetailPreguntasTestReport(PreguntaExamens lista_preguntas, Preguntas preguntas)
        {
            if (lista_preguntas == null)
            {
                return(null);
            }
            PreguntasTestRpt doc = new PreguntasTestRpt();

            List <PreguntaExamenInfo>   preguntas_examen = new List <PreguntaExamenInfo>();
            List <RespuestaExamenPrint> respuestas       = new List <RespuestaExamenPrint>();

            foreach (PreguntaExamen item in lista_preguntas)
            {
                bool imagen             = true;
                PreguntaExamenInfo info = item.GetInfo(true);
                preguntas_examen.Add(info.GetPrintObject(preguntas));
                foreach (RespuestaExamenInfo r_info in info.RespuestaExamenes)
                {
                    respuestas.Add(r_info.GetPrintObject(info, preguntas, null, imagen));
                    imagen = false; //será verdadero sólo en la primera iteración, para que cargue la imagen sólo una vez
                }
            }

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

            doc.Subreports["RespuestaExamenListSubRpt"].SetDataSource(respuestas);

            return(doc);
        }
        protected void CopyValues(RespuestaExamenInfo source,
                                  PreguntaExamenInfo pregunta,
                                  PreguntaList preguntas,
                                  ExamenInfo examen,
                                  bool imagen)
        {
            if (source == null)
            {
                return;
            }

            Oid = source.Oid;
            _base.Record.OidPregunta = source.OidPregunta;
            _base.Record.Texto       = source.Texto;
            _base.Record.Opcion      = source.Opcion;
            _base.Record.Correcta    = source.Correcta;

            if (pregunta == null)
            {
                return;
            }

            _pregunta = pregunta.Texto;
            _orden    = pregunta.Orden;
            _imagen   = pregunta.Imagen;

            if (imagen)
            {
                if (pregunta.Imagen != string.Empty)
                {
                    if (File.Exists(pregunta.ImagenWithPath))
                    {
                        _imagen = Resize(pregunta.ImagenWithPath, pregunta.Imagen);
                    }
                    else
                    {
                        _imagen = string.Empty;
                    }
                }
                else
                {
                    if (preguntas != null)
                    {
                        PreguntaInfo p = preguntas.GetItem(pregunta.OidPregunta);

                        if (p != null && p.Imagen != string.Empty)
                        {
                            if (File.Exists(p.ImagenWithPath))
                            {
                                _imagen = Resize(p.ImagenWithPath, p.Imagen);
                            }
                            else
                            {
                                _imagen = string.Empty;
                            }
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Copia los atributos del objeto
        /// </summary>
        /// <param name="source">Objeto origen</param>
        protected void CopyValues(PreguntaExamenInfo source, Preguntas preguntas)
        {
            if (source == null)
            {
                return;
            }

            Oid = source.Oid;
            _base.Record.OidExamen       = source.OidExamen;
            _base.Record.OidModulo       = source.OidModulo;
            _base.Record.OidTema         = source.OidTema;
            _base.Record.Nivel           = source.Nivel;
            _base.Record.FechaAlta       = source.FechaAlta;
            _base.Record.Texto           = source.Texto;
            _base.Record.Tipo            = source.Tipo;
            _base.Record.Imagen          = source.Imagen;
            _base.Record.ModeloRespuesta = source.ModeloRespuesta;
            _base.Record.Idioma          = source.Idioma;
            _base.Record.Observaciones   = source.Observaciones;
            _base.Record.ImagenGrande    = source.ImagenGrande;
            _base.Record.Orden           = source.Orden;
            _base.Record.OidPregunta     = source.OidPregunta;

            if (_base.Record.Tipo == "Desarrollo") //si la pregunta es de tipo test, las imágenes se cargan en las respuestas
            {
                if (source.Imagen != string.Empty)
                {
                    if (File.Exists(source.ImagenWithPath))
                    {
                        _base.Record.Imagen = Resize(source.ImagenWithPath, source.Imagen);
                    }
                    else
                    {
                        _base.Record.Imagen = string.Empty;
                    }
                }
                else
                {
                    if (preguntas != null)
                    {
                        Pregunta p = preguntas.GetItem(source.OidPregunta);

                        if (p != null && p.Imagen != string.Empty)
                        {
                            if (File.Exists(p.ImagenWithPath))
                            {
                                _base.Record.Imagen = Resize(p.ImagenWithPath, p.Imagen);
                            }
                            else
                            {
                                _base.Record.Imagen = string.Empty;
                            }
                        }
                    }
                }
            }
        }
        public void CopyFrom(PreguntaExamenInfo source)
        {
            Oid = source.OidPregunta;
            _base.Record.OidModulo       = source.OidModulo;
            _base.Record.OidTema         = source.OidTema;
            _base.Record.Nivel           = source.Nivel;
            _base.Record.FechaAlta       = source.FechaAlta;
            _base.Record.Texto           = source.Texto;
            _base.Record.Tipo            = source.Tipo;
            _base.Record.Imagen          = source.Imagen;
            _base.Record.ModeloRespuesta = source.ModeloRespuesta;
            _base.Record.Observaciones   = source.Observaciones;
            _base.Record.Idioma          = source.Idioma;

            _submodulo = source.Submodulo;
            _tema      = source.Tema;
        }
예제 #6
0
 public RespuestaExamenPrint GetPrintObject(PreguntaExamenInfo pregunta, Preguntas preguntas, ExamenInfo examen, bool imagen)
 {
     return(RespuestaExamenPrint.New(this, pregunta, preguntas, examen, imagen));
 }