public ResumenAgrupadoExamenRpt GetDetailResumenExamenReport(ExamenInfo item,
                                                                     List <RegistroResumen> registros,
                                                                     PromocionInfo promocion,
                                                                     CompanyInfo empresa)
        {
            if (item == null)
            {
                return(null);
            }
            ResumenAgrupadoExamenRpt doc = new ResumenAgrupadoExamenRpt();

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

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

            doc.SetDataSource(pList);
            doc.Subreports["RegistroResumenListSubRpt"].SetDataSource(registros);

            return(doc);
        }
Пример #2
0
        public static Examen Duplicate(long oid)
        {
            ExamenInfo old = ExamenInfo.Get(oid, true);

            Examen item = Examen.New();

            item.FechaExamen   = DateTime.Today;
            item.FechaCreacion = DateTime.Today;
            item.FechaEmision  = DateTime.MaxValue;
            item.OidPromocion  = old.OidPromocion;
            item.Promocion     = old.Promocion;
            item.OidProfesor   = old.OidProfesor;
            item.Instructor    = old.Instructor;
            item.OidModulo     = old.OidModulo;
            item.Modulo        = old.Modulo;
            item.Tipo          = old.Tipo;
            item.Desarrollo    = old.Desarrollo;
            item.Titulo        = old.Titulo + "_COPIA";
            item.Duracion      = old.Duracion;
            item.MemoPreguntas = old.MemoPreguntas;

            item.Promociones = ExamenPromociones.NewChildList();

            foreach (ExamenPromocionInfo ep in old.Promociones)
            {
                ExamenPromocion nuevo = item.Promociones.NewItem(item);
                nuevo.OidPromocion = ep.OidPromocion;
            }

            return(item);
        }
Пример #3
0
 public static string SELECT(ExamenInfo item)
 {
     return(Alumno_Examen.SELECT(new QueryConditions()
     {
         Examen = item
     }, true));
 }
Пример #4
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);
        }
        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;
                            }
                        }
                    }
                }
            }
        }
        public EstadisticaExamenRpt GetEstadisticaReport(ExamenInfo item,
                                                         EstadisticaExamenList lista,
                                                         CompanyInfo empresa)
        {
            if (item == null)
            {
                return(null);
            }
            EstadisticaExamenRpt doc = new EstadisticaExamenRpt();

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

            foreach (EstadisticaExamenInfo info in lista)
            {
                preguntas.Add(info);
            }

            //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["EstadisticaExamenListSubRpt"].SetDataSource(preguntas);

            //FormatReport(doc);

            return(doc);
        }
        public AsistenciaExamenRpt GetDetailAsistenciaExamenReport(ExamenInfo item,
                                                                   PromocionList promociones,
                                                                   List <Alumno_ExamenInfo> _alumnos,
                                                                   CompanyInfo empresa,
                                                                   string promocion)
        {
            if (item == null)
            {
                return(null);
            }
            AsistenciaExamenRpt doc   = new AsistenciaExamenRpt();
            AlumnoList          lista = AlumnoList.GetList(false);

            List <ExamenPrint>        pList   = new List <ExamenPrint>();
            List <Alumno_ExamenPrint> alumnos = new List <Alumno_ExamenPrint>();

            int  i    = 1;
            bool isIn = false;

            foreach (Alumno_ExamenInfo info in _alumnos)
            {
                isIn = false;

                foreach (ExamenPrint exam in pList)
                {
                    if (exam.OidPromocionAlumno == info.OidPromocion)
                    {
                        isIn = true;
                    }
                }

                if (!isIn)
                {
                    pList.Add(item.GetPrintObject(empresa, promocion, string.Empty));
                }

                alumnos.Add(info.GetPrintObject(lista.GetItem(info.OidAlumno), i++, false));
            }

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

            if (pList.Count == 0)
            {
                pList.Add(item.GetPrintObject(empresa, string.Empty));
            }
            doc.SetDataSource(pList);
            doc.Subreports["AsistenciaExamenAlumnosListSubRpt"].SetDataSource(alumnos);

            return(doc);
        }
        public static string SELECT_BY_EXAMEN(long oid_examen, bool lockTable)
        {
            QueryConditions conditions = new QueryConditions
            {
                Examen = ExamenInfo.New()
            };

            conditions.Examen.Oid = oid_examen;

            return(PreguntaExamen.SELECT(conditions, lockTable));
        }
Пример #9
0
        public static string SELECT_BY_EXAMEN(long oid_examen)
        {
            QueryConditions conditions = new QueryConditions()
            {
                Examen = ExamenInfo.New()
            };

            conditions.Examen.Oid = oid_examen;

            return(Alumno_Examen.SELECT(conditions, false));
        }
Пример #10
0
        public void CopyValues(ExamenInfo source)
        {
            if (source == null)
            {
                return;
            }

            _record.CopyValues(source.Base.Record);

            _modulo     = source.Modulo;
            _instructor = source.Instructor;
            _promocion  = source.Promocion;
        }
        //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 PlantillaRespuestasExamenRpt GetPlantillaRespuestasReport(ExamenInfo item, CompanyInfo empresa)
        {
            if (item == null)
            {
                return(null);
            }

            PlantillaRespuestasExamenRpt doc = new PlantillaRespuestasExamenRpt();

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

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

            doc.SetDataSource(pList);

            return(doc);
        }
        public PlantillaCorrectoraExamenRpt GetPlantillaCorrectoraReport(ExamenInfo item, CompanyInfo empresa)
        {
            if (item == null)
            {
                return(null);
            }

            PlantillaCorrectoraExamenRpt doc   = new PlantillaCorrectoraExamenRpt();
            List <ExamenPrint>           pList = new List <ExamenPrint>();

            FormatReport(doc, item.PreguntaExamenes);

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

            doc.SetDataSource(pList);

            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);
        }
Пример #15
0
        protected virtual void CopyFrom(ExamenInfo source)
        {
            if (source == null)
            {
                return;
            }

            Oid           = source.Oid;
            OidPromocion  = source.OidPromocion;
            OidProfesor   = source.OidProfesor;
            OidModulo     = source.OidModulo;
            FechaExamen   = source.FechaExamen;
            FechaCreacion = source.FechaCreacion;
            FechaEmision  = source.FechaEmision;
            Tipo          = source.Tipo;
            Desarrollo    = source.Desarrollo;
            Titulo        = source.Titulo;
            Duracion      = source.Duracion;
            MemoPreguntas = source.MemoPreguntas;
            Numero        = source.Numero;
        }
        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);
        }
Пример #17
0
        /// <summary>
        /// Copia los atributos del objeto
        /// </summary>
        /// <param name="source">Objeto origen</param>
        protected void CopyValues(ExamenInfo source, CompanyInfo empresa, string promocion, string observaciones)
        {
            if (source == null)
            {
                return;
            }

            Oid = source.Oid;
            _base.Record.OidPromocion  = source.OidPromocion;
            _base.Record.OidProfesor   = source.OidProfesor;
            _base.Record.OidModulo     = source.OidModulo;
            _base.Record.FechaExamen   = source.FechaExamen;
            _base.Record.FechaCreacion = source.FechaCreacion;
            _base.Record.FechaEmision  = source.FechaEmision;
            _base.Record.Tipo          = source.Tipo;
            _base.Record.Desarrollo    = source.Desarrollo;
            _base.Record.Titulo        = source.Titulo;
            _base.Record.Duracion      = source.Duracion;
            _tiempo = Duracion.ToShortTimeString();
            _base.Record.MemoPreguntas = source.MemoPreguntas;
            _base.Record.Numero        = source.Numero;
            _dia           = _base.Record.FechaExamen.Day.ToString("00");
            _mes           = _base.Record.FechaExamen.Month.ToString("00");
            _año           = _base.Record.FechaExamen.Year.ToString();
            _observaciones = observaciones;

            _base.Promocion  = source.Promocion;
            _base.Modulo     = source.Modulo;
            _n_modulo        = ModuloInfo.Get(source.OidModulo, false).NumeroModulo;
            _base.Instructor = source.Instructor;

            _n_preguntas = source.PreguntaExamenes != null ? source.PreguntaExamenes.Count : 0;

            if (promocion != null)
            {
                //_oid_promocion_alumno = promocion.Oid;
                _base.Promocion = promocion;
            }
            else
            {
                if (source.Promociones != null && source.Promociones.Count > 0)
                {
                    _base.Promocion = string.Empty;

                    foreach (ExamenPromocionInfo ep in source.Promociones)
                    {
                        PromocionInfo pinfo = PromocionInfo.Get(ep.OidPromocion, false);
                        _base.Promocion += pinfo.Nombre + " ";
                    }
                }
            }

            if (empresa == null)
            {
                return;
            }

            string path = CompanyInfo.GetLogoPath(empresa.Oid);

            //Z:\.\Recursos\Logos\Empresas\0002.jpg

            // Cargamos la imagen en el buffer
            if (File.Exists(path))
            {
                //Declaramos fs para poder abrir la imagen.
                FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);

                // Declaramos un lector binario para pasar la imagen a bytes
                BinaryReader br = new BinaryReader(fs);
                _logo_emp = new byte[(int)fs.Length];
                br.Read(LogoEmp, 0, (int)fs.Length);
                br.Close();
                fs.Close();
            }
        }
Пример #18
0
 public RespuestaExamenPrint GetPrintObject(PreguntaExamenInfo pregunta, Preguntas preguntas, ExamenInfo examen, bool imagen)
 {
     return(RespuestaExamenPrint.New(this, pregunta, preguntas, examen, imagen));
 }
Пример #19
0
 public static string SELECT(ExamenInfo parent)
 {
     return(ExamenPromocion.SELECT(new QueryConditions {
         Examen = parent
     }, true));
 }
        public RegistroNotasExamenRpt GetDetailReport(ExamenInfo item,
                                                      List <Alumno_ExamenInfo> _alumnos,
                                                      PromocionInfo promocion,
                                                      CompanyInfo empresa)
        {
            if (item == null)
            {
                return(null);
            }
            RegistroNotasExamenRpt doc = new RegistroNotasExamenRpt();
            string     comentarios     = string.Empty;
            AlumnoList lista           = AlumnoList.GetOrdenAlfabeticoList(true, _alumnos);

            List <ExamenPrint>        pList   = new List <ExamenPrint>();
            List <Alumno_ExamenPrint> alumnos = new List <Alumno_ExamenPrint>();

            int i = 1;

            foreach (AlumnoInfo alumno in lista)
            {
                Alumno_ExamenInfo info = null;
                foreach (Alumno_ExamenInfo ae in _alumnos)
                {
                    if (ae.OidAlumno == alumno.Oid)
                    {
                        info = ae;
                        break;
                    }
                }

                if (info != null)
                {
                    Alumno_ExamenPrint obj = info.GetPrintObject(alumno, i++, true);

                    if (item.Desarrollo && info.Presentado)
                    {
                        obj.NotaTest = string.Empty;
                        foreach (Respuesta_Alumno_ExamenInfo resp in info.Respuestas)
                        {
                            if (obj.NotaTest.Length > 0)
                            {
                                obj.NotaTest += " - ";
                            }
                            obj.NotaTest += resp.Calificacion.ToString() + "%";
                        }
                    }

                    alumnos.Add(obj);
                    if (info.Observaciones != string.Empty)
                    {
                        comentarios += alumno.NExpediente + " - " + alumno.Nombre + " " + alumno.Apellidos + " - " + info.Observaciones + Environment.NewLine;
                    }
                }
            }

            //foreach (Alumno_ExamenInfo info in _alumnos)
            //{
            //    AlumnoInfo alumno = lista.GetItem(info.OidAlumno);
            //    Alumno_ExamenPrint obj = info.GetPrintObject(alumno, i++, true);

            //    if (item.Desarrollo && info.Presentado)
            //    {
            //        obj.NotaTest = string.Empty;
            //        foreach (Respuesta_Alumno_ExamenInfo resp in info.Respuestas)
            //        {
            //            if (obj.NotaTest.Length > 0)
            //                obj.NotaTest += " - ";
            //            obj.NotaTest += resp.Calificacion.ToString() + "%";
            //        }
            //    }

            //    alumnos.Add(obj);
            //    if (info.Observaciones != string.Empty)
            //        comentarios += alumno.NExpediente + " - " + alumno.Nombre + " " + alumno.Apellidos  + " - " + info.Observaciones + Environment.NewLine;
            //}

            pList.Add(item.GetPrintObject(empresa, promocion.Nombre, comentarios));

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

            doc.SetDataSource(pList);
            doc.Subreports["NotasExamenAlumnosListSubRpt"].SetDataSource(alumnos);

            return(doc);
        }