Esempio n. 1
0
        /// <summary>
        /// Asigna los datos de origen para controles que dependen de otros
        /// </summary>
        /// <param name="controlName"></param>
        protected override void SetDependentControlSource(string controlName)
        {
            switch (controlName)
            {
            case "Modulo_CB":
            {
                if (Modulo_CB.SelectedItem != null && ((ComboBoxSource)Modulo_CB.SelectedItem).Oid != 0)
                {
                    Datos_Temas.DataSource = _combo_modulos.GetFilteredChilds(((ComboBoxSource)Modulo_CB.SelectedItem).Oid);
                    Tema_CB.SelectedItem   = _combo_modulos.Childs.Buscar(_pregunta.OidTema);
                }
            } break;

            case "Tema_CB":
            {
                if (_pregunta != null)
                {
                    TemaInfo tema = _temas.GetItem(_pregunta.OidTema);

                    if (tema.Desarrollo)
                    {
                        Tipo_CB.SelectedIndex = 1;
                    }
                    else
                    {
                        Tipo_CB.SelectedIndex = 2;
                    }
                    Nivel_TB.Text = tema.Nivel.ToString();
                }
            } break;
            }
        }
        /// <summary>
        /// Asigna los datos de origen para controles que dependen de otros
        /// </summary>
        /// <param name="controlName"></param>
        protected override void SetDependentControlSource(string controlName)
        {
            switch (controlName)
            {
            case "Modulo_CB":
            {
                if (Modulo_CB.SelectedItem != null && ((ComboBoxSource)Modulo_CB.SelectedItem).Oid != 0)
                {
                    Datos_Submodulos.DataSource = _combo_modulos.GetFilteredChilds(((ComboBoxSource)Modulo_CB.SelectedItem).Oid);
                    Submodulo_CB.SelectedItem   = _combo_modulos.Childs.Buscar(_pregunta_info.OidSubmodulo);
                }
            } break;

            case "Submodulo_CB":
            {
                if (!_cambiado)
                {
                    if (Submodulo_CB.SelectedItem != null && ((ComboBoxSource)Submodulo_CB.SelectedItem).Oid != 0)
                    {
                        Datos_Temas.DataSource = _combo_modulos.Childs.GetFilteredChilds(((ComboBoxSource)Submodulo_CB.SelectedItem).Oid);
                        Tema_CB.SelectedItem   = _combo_modulos.Childs.Childs.Buscar(_pregunta_info.OidTema);
                    }
                }
                else
                {
                    if (Submodulo_CB.SelectedValue != null && (long)Submodulo_CB.SelectedValue != 0)
                    {
                        Datos_Temas.DataSource = _combo_modulos.Childs.GetFilteredChilds((long)Submodulo_CB.SelectedValue);
                        Tema_CB.SelectedItem   = _combo_modulos.Childs.Childs.Buscar(_pregunta_info.OidTema);
                    }
                }
            } break;

            case "Tema_CB":
            {
                if (_pregunta_info != null)
                {
                    TemaInfo tema = _temas.GetItem(_pregunta_info.OidTema);
                    if (tema.Desarrollo)
                    {
                        Tipo_CB.SelectedItem = ETipoPregunta.Desarrollo.ToString();        //_combo_tipo.Buscar(1);
                    }
                    else
                    {
                        Tipo_CB.SelectedItem = ETipoPregunta.Test.ToString();        //_combo_tipo.Buscar(2);
                    }
                    Nivel_TB.Text = tema.Nivel.ToString();
                }
            } break;
            }
        }
        private void PreguntasAddForm_Activated(object sender, EventArgs e)
        {
            if (_temas != null && Tema_CB.SelectedItem != null)
            {
                TemaInfo tema = _temas.GetItem(((ComboBoxSource)Tema_CB.SelectedItem).Oid);
                if (tema != null && _entity != null)
                {
                    if (tema.Desarrollo)
                    {
                        Respuestas_Grid.Visible        = false;
                        Respuestas_Grid.Enabled        = false;
                        Respuestas_BT.Visible          = false;
                        Respuestas_BT.Enabled          = false;
                        ModeloRespuesta_TB.Visible     = true;
                        ModeloRespuesta_TB.Enabled     = true;
                        ModeloRespuesta_LB.Visible     = true;
                        ModeloRespuesta_LB.Enabled     = true;
                        ModeloRespuesta_BT.Visible     = true;
                        ModeloRespuesta_BT.Enabled     = true;
                        ModeloRespuestaView_BT.Visible = true;
                        ModeloRespuestaView_BT.Enabled = true;
                        return;
                    }
                }
            }

            ModeloRespuesta_TB.Visible     = false;
            ModeloRespuesta_TB.Enabled     = false;
            ModeloRespuesta_LB.Visible     = false;
            ModeloRespuesta_LB.Enabled     = false;
            ModeloRespuesta_BT.Visible     = false;
            ModeloRespuesta_BT.Enabled     = false;
            ModeloRespuestaView_BT.Visible = false;
            ModeloRespuestaView_BT.Enabled = false;
            Respuestas_Grid.Visible        = true;
            Respuestas_Grid.Enabled        = true;
            Respuestas_BT.Visible          = true;
            Respuestas_BT.Enabled          = true;
        }
Esempio n. 4
0
        /// <summary>
        /// Función recursiva que va creando el árbol de submódulos y preguntas
        /// </summary>
        /// <param name="padre"></param>
        /// <param name="apartado"></param>
        private void SetPreguntasValues(TreeNode padre, TemaInfo tema)
        {
            TreeNode nodo = new TreeNode(tema.Codigo + " - " + tema.Nombre + " - Nivel: " + tema.Nivel.ToString());

            nodo.NodeFont         = new Font("Tahoma", (float)8.25, FontStyle.Regular);
            nodo.ForeColor        = System.Drawing.Color.Black;
            nodo.Tag              = tema;
            nodo.SelectedImageKey = Properties.Settings.Default.SUBMODULO_ICON;

            if (padre == null)
            {
                Arbol_TV.Nodes.Add(nodo);
            }
            else
            {
                padre.Nodes.Add(nodo);
            }

            string idioma = string.Empty;

            if (Idioma_CB.SelectedItem != null && ((ComboBoxSource)Idioma_CB.SelectedItem).Oid == 0)
            {
                if (((ComboBoxSource)Idioma_CB.SelectedItem).Oid == 1)
                {
                    idioma = Library.Common.EIdioma.Spanish.ToString();
                }
                else
                {
                    idioma = Library.Common.EIdioma.English.ToString();
                }
            }

            foreach (PreguntaInfo p in _preguntas)
            {
                Library.Instruction.EnumText <ETipoPregunta> .GetLabel(ETipoPregunta.Desarrollo);

                if (p.OidTema == tema.Oid &&
                    (Tema_CB.SelectedItem == null ||
                     ((((ComboBoxSource)Tema_CB.SelectedItem).Oid == 0 ||
                       ((ComboBoxSource)Tema_CB.SelectedItem).Oid == p.OidTema) &&
                      (((ComboBoxSource)Idioma_CB.SelectedItem).Oid == 0 ||
                       Idioma_CB.SelectedItem == null ||
                       p.Idioma == idioma))) &&
                    ((_entity.Desarrollo && p.Tipo == ETipoPregunta.Desarrollo.ToString()) ||
                     (!_entity.Desarrollo && p.Tipo == ETipoPregunta.Test.ToString() /*"Test"*/)) &&
                    p.Activa)
                {
                    //Pregunta p_actualizada = _preguntas.GetItem(p.Oid);

                    TreeNode nodo_p = new TreeNode("[" + p.Serial + "] " + p.Texto);
                    nodo_p.NodeFont  = new Font("Tahoma", (float)8.25, FontStyle.Regular);
                    nodo_p.ForeColor = System.Drawing.Color.Black;
                    nodo_p.Tag       = p;

                    if (Esta(p.Oid))
                    {
                        nodo_p.ImageKey = Properties.Settings.Default.PREGUNTA_DISPONIBLE_ICON;
                        nodo_p.Checked  = true;
                        _examen++;
                        _seleccionadas++;
                    }
                    else
                    {
                        if (p.FechaDisponibilidad.Date <= _entity.FechaExamen.Date && !p.Reservada)
                        {
                            nodo_p.ImageKey = Properties.Settings.Default.PREGUNTA_DISPONIBLE_ICON;
                            _disponibles++;
                        }
                        else
                        {
                            if (p.Reservada)
                            {
                                if (preguntas_incluidas.Contains(p.Oid) ||
                                    _preguntas_mismo_dia.Contains(p.Oid))
                                {
                                    nodo_p.ImageKey = Properties.Settings.Default.PREGUNTA_DISPONIBLE_ICON;
                                    _disponibles++;
                                }
                                else
                                {
                                    nodo_p.ImageKey = Properties.Settings.Default.PREGUNTA_RESERVADA_ICON;
                                }
                            }
                            else
                            {
                                if (preguntas_incluidas.Contains(p.Oid))
                                {
                                    nodo_p.ImageKey = Properties.Settings.Default.PREGUNTA_DISPONIBLE_ICON;
                                    _disponibles++;
                                }
                                else
                                {
                                    nodo_p.ImageKey = Properties.Settings.Default.PREGUNTA_BLOQUEADA_ICON;
                                }
                            }
                        }
                    }

                    nodo.Nodes.Add(nodo_p);
                }
            }
        }
Esempio n. 5
0
        private void Filtrar_BT_Click(object sender, EventArgs e)
        {
            _examen        = 0;
            _disponibles   = 0;
            _seleccionadas = 0;

            GetPreguntasReservadas();

            while (Arbol_TV.Nodes.Count != 0)
            {
                foreach (TreeNode t in Arbol_TV.Nodes)
                {
                    Arbol_TV.Nodes.Remove(t);
                }
            }

            if ((ComboBoxSource)Submodulo_CB.SelectedItem != null &&
                (ComboBoxSource)Idioma_CB.SelectedItem != null)
            {
                if (((ComboBoxSource)Submodulo_CB.SelectedItem).Oid == 0)
                {
                    foreach (SubmoduloInfo sub in _submodulos)
                    {
                        foreach (TemaInfo item in _temas)
                        {
                            if (item.OidSubmodulo == sub.Oid)
                            {
                                SetPreguntasValues(null, item);
                            }
                        }
                    }
                    //Arbol_TV.ExpandAll();

                    //se eliminan los nodos que no tengan preguntas asociadas
                    foreach (TreeNode t in Arbol_TV.Nodes)
                    {
                        if (t.Nodes.Count == 0)
                        {
                            t.Remove();
                        }
                    }
                }
                else
                {
                    SubmoduloInfo submodulo = _submodulos.GetItem(((ComboBoxSource)Submodulo_CB.SelectedItem).Oid);

                    if (Tema_CB.SelectedItem != null && ((ComboBoxSource)Tema_CB.SelectedItem).Oid == 0)
                    {
                        foreach (TemaInfo t in _temas)
                        {
                            if (t.OidSubmodulo == submodulo.Oid)
                            {
                                SetPreguntasValues(null, t);
                            }
                        }
                    }
                    else
                    {
                        TemaInfo t = _temas.GetItem(((ComboBoxSource)Tema_CB.SelectedItem).Oid);
                        SetPreguntasValues(null, t);
                    }
                    //se eliminan los nodos que no tengan preguntas asociadas
                    foreach (TreeNode t in Arbol_TV.Nodes)
                    {
                        if (t.Nodes.Count == 0)
                        {
                            t.Remove();
                        }
                    }
                }
            }
            //else
            //{
            //    TemaInfo t = _temas.GetItem(((ComboBoxSource)Tema_CB.SelectedItem).Oid);
            //    if (t != null)
            //    {
            //        SetPreguntasValues(null, t);

            //        //se eliminan los nodos que no tengan pregutas asociadas
            //        foreach (TreeNode n in Arbol_TV.Nodes)
            //        {
            //            if (n.Nodes.Count == 0)
            //                n.Remove();
            //        }
            //    }
            //    else
            //        MessageBox.Show("No existen preguntas asociadas al tema seleccionado");
            //}

            Disponibles_TB.Text   = _disponibles.ToString();
            Seleccionadas_TB.Text = "0";
            Examen_TB.Text        = _examen.ToString();
        }
Esempio n. 6
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();
        }
        /// <summary>
        /// Asigna los datos de origen para controles que dependen de otros
        /// </summary>
        /// <param name="controlName"></param>
        protected override void SetDependentControlSource(string controlName)
        {
            switch (controlName)
            {
            case "Modulo_CB":
            {
                if (Datos_Modulos.Current != null && Modulo_CB.SelectedItem != null)
                {
                    Datos_Submodulos.DataSource = _combo_modulos.GetFilteredChilds(((ComboBoxSource)Modulo_CB.SelectedItem).Oid);
                }
            } break;

            case "Submodulo_CB":
            {
                if (Submodulo_CB.SelectedItem != null && ((ComboBoxSource)Submodulo_CB.SelectedItem).Oid != 0)
                {
                    Datos_Temas.DataSource = _combo_modulos.Childs.GetFilteredChilds(((ComboBoxSource)Submodulo_CB.SelectedItem).Oid);
                }
            } break;

            case "Tema_CB":
            {
                if (_temas != null && Tema_CB.SelectedItem != null)
                {
                    TemaInfo tema = _temas.GetItem(((ComboBoxSource)Tema_CB.SelectedItem).Oid);
                    if (tema != null && _entity != null)
                    {
                        _entity.OidSubmodulo = tema.OidSubmodulo;
                        _entity.OidTema      = tema.Oid;
                        Nivel_TB.Text        = tema.Nivel.ToString();
                        _entity.Nivel        = tema.Nivel;
                        if (tema.Desarrollo)
                        {
                            Tipo_TB.Text                   = ETipoPregunta.Desarrollo.ToString();
                            _entity.Tipo                   = ETipoPregunta.Desarrollo.ToString();
                            Respuestas_Grid.Visible        = false;
                            Respuestas_Grid.Enabled        = false;
                            Respuestas_BT.Visible          = false;
                            Respuestas_BT.Enabled          = false;
                            ModeloRespuesta_TB.Visible     = true;
                            ModeloRespuesta_TB.Enabled     = true;
                            ModeloRespuesta_LB.Visible     = true;
                            ModeloRespuesta_LB.Enabled     = true;
                            ModeloRespuesta_BT.Visible     = true;
                            ModeloRespuesta_BT.Enabled     = true;
                            ModeloRespuestaView_BT.Visible = true;
                            ModeloRespuestaView_BT.Enabled = true;
                        }
                        else
                        {
                            Tipo_TB.Text = ETipoPregunta.Test.ToString();
                            _entity.Tipo = ETipoPregunta.Test.ToString();
                            ModeloRespuesta_TB.Visible     = false;
                            ModeloRespuesta_TB.Enabled     = false;
                            ModeloRespuesta_LB.Visible     = false;
                            ModeloRespuesta_LB.Enabled     = false;
                            ModeloRespuestaView_BT.Visible = false;
                            ModeloRespuestaView_BT.Enabled = false;
                            ModeloRespuesta_BT.Visible     = false;
                            ModeloRespuesta_BT.Enabled     = false;
                            Respuestas_Grid.Visible        = true;
                            Respuestas_Grid.Enabled        = true;
                            Respuestas_BT.Visible          = true;
                            Respuestas_BT.Enabled          = true;
                        }
                    }
                }
            } break;
            }
        }