Beispiel #1
0
        public bool DuplicateList(long oid)
        {
            ExamenInfo old            = ExamenInfo.Get(oid, true);
            bool       no_disponibles = false;

            if (old.Emitido)
            {
                MemoPreguntas = string.Empty;

                PreguntaList preguntas = PreguntaList.GetPreguntasModulo(_base.Record.OidModulo);
                foreach (PreguntaExamenInfo pe in old.PreguntaExamenes)
                {
                    PreguntaInfo pregunta = preguntas.GetItem(pe.OidPregunta);
                    if (pregunta.FechaDisponibilidad.Date <= _base.Record.FechaExamen)
                    {
                        MemoPreguntas += pe.OidPregunta.ToString() + ";";
                    }
                    else
                    {
                        no_disponibles = true;
                    }
                }
            }

            return(no_disponibles);
        }
        public PreguntasListRpt GetPreguntasListReport(PreguntaList preguntas)
        {
            if (preguntas == null)
            {
                return(null);
            }
            PreguntasListRpt doc = new PreguntasListRpt();

            List <PreguntaPrint> pList = new List <PreguntaPrint>();

            foreach (PreguntaInfo item in preguntas)
            {
                pList.Add(item.GetPrintObject(1));
            }

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

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

            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, PreguntaList 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.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)
                    {
                        PreguntaInfo 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;
                            }
                        }
                    }
                }
            }
        }
Beispiel #5
0
        public static Preguntas GetPreguntasDuplicadasTema(long oid_tema)
        {
            CriteriaEx criteria = Pregunta.GetCriteria(Pregunta.OpenSession());

            criteria.Query  = PreguntaList.SELECT_BY_TEMA_DUPLICADAS(oid_tema);
            criteria.Childs = false;

            Pregunta.BeginTransaction(criteria.SessionCode);
            return(DataPortal.Fetch <Preguntas>(criteria));
        }
Beispiel #6
0
        /// <summary>
        /// Construye la tabla
        /// </summary>
        /// <param name="type"></param>
        /// <param name="schema"></param>
        /// <param name="sesion"></param>
        /// <returns></returns>
        public static string SELECT_PREGUNTAS_FILTRADAS(long oid_modulo, long oid_tema, long nivel,
                                                        string tipo, string idioma, DateTime fecha_alta,
                                                        DateTime fecha_disponibilidad, bool revisada,
                                                        bool activa, string texto, bool filtros, bool reservada,
                                                        long numero)
        {
            string query = PreguntaList.SELECT_PREGUNTAS_FILTRADAS(oid_modulo, oid_tema, nivel,
                                                                   tipo, idioma, fecha_alta,
                                                                   fecha_disponibilidad, revisada,
                                                                   activa, texto, filtros, reservada,
                                                                   numero);

            return(query); // +" FOR UPDATE OF P NOWAIT;";
        }
        //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 ResumenExamenRpt GetDetailResumenExamenReport(ExamenInfo item,
                                                             PreguntaList preguntas,
                                                             PromocionInfo promocion,
                                                             CompanyInfo empresa)
        {
            if (item == null)
            {
                return(null);
            }
            ResumenExamenRpt doc = new ResumenExamenRpt();

            List <ExamenPrint>   pList      = new List <ExamenPrint>();
            List <PreguntaPrint> _preguntas = new List <PreguntaPrint>();

            if (promocion == null)
            {
                pList.Add(item.GetPrintObject(empresa, string.Empty));
            }
            else
            {
                pList.Add(item.GetPrintObject(empresa, promocion.Nombre, string.Empty));
            }

            int i = 1;

            foreach (PreguntaInfo info in preguntas)
            {
                _preguntas.Add(info.GetPrintObject(i++));
            }

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

            doc.SetDataSource(pList);
            doc.Subreports["ListadoPreguntasExamenListSubRpt"].SetDataSource(_preguntas);

            return(doc);
        }
Beispiel #9
0
        /// <summary>
        /// Construye la tabla
        /// </summary>
        /// <param name="type"></param>
        /// <param name="schema"></param>
        /// <param name="sesion"></param>
        /// <returns></returns>
        public static string SELECT_BY_LIST(string lista_preguntas)
        {
            string query = PreguntaList.SELECT_BY_LIST(lista_preguntas);

            return(query); // +" FOR UPDATE OF P NOWAIT";
        }
Beispiel #10
0
        public static string SELECT_BY_MODULO_LIST(long oid, string lista_preguntas)
        {
            string query = PreguntaList.SELECT_BY_MODULO_LIST(oid, lista_preguntas);

            return(query); // +" FOR UPDATE OF P NOWAIT;";
        }
Beispiel #11
0
        public static string SELECT_BY_TEMA(long oid_tema)
        {
            string query = PreguntaList.SELECT_BY_TEMA(oid_tema);

            return(query); // +" FOR UPDATE OF P NOWAIT;";
        }
Beispiel #12
0
        public static string SELECT_BY_MODULO(long oid_modulo)
        {
            string query = PreguntaList.SELECT_BY_MODULO(oid_modulo);

            return(query); // +" FOR UPDATE OF P NOWAIT;";
        }
Beispiel #13
0
        public static string SELECT_BY_FIELD(string field, long value)
        {
            string query = PreguntaList.SELECT_BY_FIELD(field, value);

            return(query);// +" FOR UPDATE OF P NOWAIT;";
        }
Beispiel #14
0
        /// <summary>
        /// Construye la tabla
        /// </summary>
        /// <param name="type"></param>
        /// <param name="schema"></param>
        /// <param name="sesion"></param>
        /// <returns></returns>
        public static string SELECT_PREGUNTAS()
        {
            string query = PreguntaList.SELECT_PREGUNTAS();

            return(query); // +" FOR UPDATE OF P NOWAIT;";
        }
        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);
        }
 public PreguntaExamenPrint GetPrintObject(PreguntaList preguntas)
 {
     return(PreguntaExamenPrint.New(this, preguntas));
 }