public override void RefreshSecondaryData()
        {
            PgMng.Grow();

            Preguntas_TB.Text = _entity.PreguntaExamenes.Count.ToString();
            PgMng.Grow();

            Desarrollo_CB.Checked = _entity.Desarrollo;
            PgMng.Grow();

            if (EntityInfo != null && EntityInfo.OidModulo != 0)
            {
                _modulo = ModuloInfo.Get(EntityInfo.OidModulo, false);
                PgMng.Grow(string.Empty, "_modulo");

                _preguntas_modulo = PreguntaList.GetPreguntasModulo(_modulo.Oid);
                PgMng.Grow(string.Empty, "_preguntas");

                _temas = TemaList.GetModuloList(_modulo.Oid, false);
                PgMng.Grow(string.Empty, "_temas");

                _submodulos = SubmoduloList.GetModuloList(_modulo.Oid, false);
                PgMng.Grow(string.Empty, "_submodulos");

                RellenaPreguntas();
            }
            PgMng.Grow();

            base.RefreshSecondaryData();
            PgMng.Grow();
        }
Beispiel #2
0
        /// <summary>
        /// Implementa Save_button_Click
        /// </summary>
        protected override void SaveAction()
        {
            //Antes de guardar se crean todos los registros de Pregunta_Plantilla necesarios para cada submódulo
            //del módulo asociado a la plantilla que se está creando, y se inicializan todos los números de
            //preguntas a cero.
            ModuloInfo modulo = ModuloInfo.Get(Entity.OidModulo, false);

            _entity.Modulo    = modulo.Texto;
            _entity.Preguntas = Preguntas_Plantillas.NewChildList();
            SubmoduloList submodulos = SubmoduloList.GetModuloList(Entity.OidModulo, false);
            TemaList      temas      = TemaList.GetModuloList(Entity.OidModulo, false);

            foreach (SubmoduloInfo submodulo in submodulos)
            {
                foreach (TemaInfo tema in temas)
                {
                    if (submodulo.Oid == tema.OidSubmodulo)
                    {
                        Preguntas_Plantilla preguntas = Preguntas_Plantilla.NewChild(Entity);
                        preguntas.OidSubmodulo = submodulo.Oid;
                        preguntas.OidTema      = tema.Oid;
                        preguntas.NPreguntas   = 0;
                        Entity.Preguntas.AddItem(preguntas);
                    }
                }
            }

            _action_result = SaveObject() ? DialogResult.OK : DialogResult.Ignore;
        }
        public void SetSourceData(string item, ModuloInfo modulo, Examen examen)
        {
            _modulo           = modulo;
            _submodulos       = SubmoduloList.GetModuloList(_modulo.Oid, false);
            _temas            = TemaList.GetModuloList(_modulo.Oid, false);
            _preguntas_examen = examen.PreguntaExamens;
            _examen           = examen.GetInfo(false);

            this.Text = Resources.Labels.RESUMEN_EXAMEN_TITLE;
            lista     = new List <RegistroResumen>();
            string memo_preguntas = ";" + item;
            long   contador       = 0;

            foreach (SubmoduloInfo obj in _submodulos)
            {
                foreach (TemaInfo tema in _temas)
                {
                    if (tema.OidSubmodulo == obj.Oid)
                    {
                        foreach (PreguntaExamen p in _preguntas_examen)
                        {
                            if (p.OidTema == tema.Oid)
                            {
                                lista = RegistroResumen.ContabilizaPregunta(lista, obj.Oid, obj.Codigo + " " + obj.Texto, tema.Codigo);
                                contador++;
                            }
                        }
                    }
                }
            }
            lista.Add(new RegistroResumen("TODOS", "TODOS", contador));

            RefreshMainData();
        }
Beispiel #4
0
        public override void RefreshSecondaryData()
        {
            int validas = 0;

            foreach (PreguntaExamen item in _entity.PreguntaExamens)
            {
                if (!item.Anulada)
                {
                    validas++;
                }
            }

            Preguntas_TB.Text = validas.ToString();
            PgMng.Grow(string.Empty, "Preguntas_TB");

            Desarrollo_CB.Checked = _entity.Desarrollo;
            PgMng.Grow(string.Empty, "Desarrollo_CB");

            if (Entity != null && Entity.OidModulo != 0)
            {
                _modulo = ModuloInfo.Get(Entity.OidModulo, false);
                PgMng.Grow(string.Empty, "_modulo");
                _preguntas = _entity.PreguntaExamens;
                Datos_Preguntas.DataSource = PreguntaExamens.SortList(_entity.PreguntaExamens, "Orden", ListSortDirection.Ascending);
                PgMng.Grow(string.Empty, "_preguntas");
                _submodulos = SubmoduloList.GetModuloList(_modulo.Oid, false);
                PgMng.Grow(string.Empty, "_submodulos");
                _temas = TemaList.GetModuloList(_modulo.Oid, false);
                PgMng.Grow(string.Empty, "_temas");
            }
            PgMng.Grow();

            base.RefreshSecondaryData();
        }
        public override void RefreshSecondaryData()
        {
            if (_entity != null)
            {
                _modulo        = ModuloInfo.Get(_entity.OidModulo, false);
                Modulo_TB.Text = _modulo.Codigo + " " + _modulo.Texto;

                _submodulos = SubmoduloList.GetModuloList(_modulo.Oid, false);
                _temas      = TemaList.GetModuloList(_modulo.Oid, false);
            }
            PgMng.Grow();

            NPreguntas_TB.Text = _entity.NPreguntas.ToString();

            PgMng.Grow();

            Datos_Idiomas.DataSource = Library.Common.EnumText <EIdioma> .GetList(false);

            PgMng.Grow();
        }
Beispiel #6
0
        protected override void SetPreguntasAction()
        {
            if (!Entity.FechaEmision.Date.Equals(DateTime.MaxValue.Date) &&
                !Entity.FechaEmision.Date.Equals(DateTime.MinValue.Date))
            {
                MessageBox.Show("No se puede modificar un examen que ha sido emitido");
                return;
            }

            if (Entity.FechaExamen.Date.Equals(DateTime.MaxValue.Date))
            {
                MessageBox.Show("Debe especificar una fecha para el examen antes de añadir preguntas");
                return;
            }

            if (Entity != null && Entity.OidModulo != 0)
            {
                if (_modulo == null)
                {
                    _modulo = ModuloInfo.Get(Entity.OidModulo);
                }
                if (_submodulos == null)
                {
                    _submodulos = SubmoduloList.GetModuloList(Entity.OidModulo, false);
                }
                if (_temas == null)
                {
                    _temas = TemaList.GetModuloList(_modulo.Oid, false);
                }
                if (preguntas_mismo_dia == null)
                {
                    GetPreguntasReservadas();
                }

                PreguntasSelectForm form = new PreguntasSelectForm(true);
                form.SetSourceData(Entity, _modulo, _submodulos, _temas, _preguntas_modulo, preguntas_mismo_dia, false);
                form.ShowDialog();

                RellenaPreguntas();
            }
        }
Beispiel #7
0
        protected override void ProponerAction()
        {
            if (_entity.Pregunta_Examens.Count != 0)
            {
                MessageBox.Show("El examen que desea proponer contiene preguntas, bórrelas antes de continuar",
                                "Aviso");
            }
            else
            {
                PlantillaSelectForm form = new PlantillaSelectForm(true);
                form.SetSourceData(_entity, _modulo, _preguntas_modulo);
                form.ShowDialog(this);

                if (Entity != null && Entity.OidModulo != 0 && form.Guardado)
                {
                    if (_modulo == null)
                    {
                        _modulo = ModuloInfo.Get(Entity.OidModulo);
                    }
                    if (_submodulos == null)
                    {
                        _submodulos = SubmoduloList.GetModuloList(_modulo.Oid, false);
                    }
                    if (_temas == null)
                    {
                        _temas = TemaList.GetModuloList(_modulo.Oid, false);
                    }
                    if (preguntas_mismo_dia == null)
                    {
                        GetPreguntasReservadas();
                    }

                    PreguntasSelectForm select = new PreguntasSelectForm(true);
                    select.SetSourceData(Entity, _modulo, _submodulos, _temas, _preguntas_modulo, preguntas_mismo_dia, true);
                    select.ShowDialog(this);

                    RellenaPreguntas();
                }
            }
        }
Beispiel #8
0
        private void Select_Button_Click(object sender, EventArgs e)
        {
            _plantilla = PlantillaExamenInfo.Get(ActiveOID);

            if (_plantilla != null)
            {
                _guardado = true;

                if (!_plantilla.Desarrollo)
                {
                    TemaList temas = TemaList.GetModuloList(_modulo.Oid, false);

                    foreach (Preguntas_PlantillaInfo item in _plantilla.Preguntas)
                    {
                        long count = item.NPreguntas;

                        PreguntaList preguntas_tema = PreguntaList.GetPreguntasDisponiblesTema(item.OidTema, _entity.Desarrollo, _entity.FechaExamen, count);

                        if (preguntas_tema != null)
                        {
                            foreach (PreguntaInfo info in preguntas_tema)
                            {
                                if (count == 0)
                                {
                                    break;
                                }

                                Pregunta_Examen pregunta = Pregunta_Examen.NewChild(_entity);
                                pregunta.OidPregunta = info.Oid;
                                _entity.Pregunta_Examens.AddItem(pregunta);
                                count--;
                            }
                        }

                        if (count != 0)
                        {
                            TemaInfo tema = temas.GetItem(item.OidTema);
                            MessageBox.Show("No hay suficientes preguntas disponibles para el tema " + tema.Codigo);
                        }
                    }
                }
                else
                {
                    long count = _plantilla.NPreguntas;

                    PreguntaList preguntas = PreguntaList.GetPreguntasDisponiblesModulo(_entity.OidModulo, _entity.Desarrollo, _entity.FechaExamen, count);

                    if (preguntas != null)
                    {
                        foreach (PreguntaInfo info in preguntas)
                        {
                            if (count == 0)
                            {
                                break;
                            }

                            Pregunta_Examen pregunta = Pregunta_Examen.NewChild(_entity);
                            pregunta.OidPregunta = info.Oid;
                            _entity.Pregunta_Examens.AddItem(pregunta);
                            count--;
                        }
                    }

                    if (count != 0)
                    {
                        MessageBox.Show("No hay suficientes preguntas disponibles en el submódulo");
                    }
                }
            }

            Cerrar();
            Close();
        }