Пример #1
0
        public FormModificarPregunta(PreguntaIdioma preguntaIdioma, Dictionary <Nivel, List <Pregunta> > preguntas, List <Nivel> niveles, List <Idioma> idiomas, int expoId)
        {
            InitializeComponent();
            this.Preguntas = preguntas;
            this.Niveles   = niveles;
            this.Idiomas   = idiomas;
            this.IdExpo    = expoId;
            Textboxes predeterminado = new Textboxes(textBoxPregunta, textBoxRespuestaC, textBoxRespuestaI1, textBoxRespuestaI2, textBoxRespuestaI3, richTextBoxInfoRespuestaCorrecta, textBoxEnlace);
            Textboxes traducir       = new Textboxes(textBoxPreguntaT, textBoxRespuestaTC, textBoxRespuestaTI1, textBoxRespuestaTI2, textBoxRespuestaTI3, richTextBoxInfoRespuestaCorrectaT, textBoxEnlaceT);

            Predeterminado = predeterminado;
            Traducir       = traducir;



            //Añadir los otros elementos de idiomas
            toolStripComboBoxTraducirAl.Items.Add(Default);
            toolStripComboBoxTraducirAl.Items.AddRange(Idiomas.ToArray());
            toolStripComboBoxTraducirAl.Items.Remove(Idiomas[0]);
            //definiendo de donde vienen los datos

            comboBoxNiveles.DataSource = Niveles;



            //Añadir idioma ----- al  combobox idiomas

            //Llendado de la barra de Preguntas x Nivel
            llenarComboBoxPreguntas(Niveles[comboBoxNiveles.SelectedIndex]);


            //Campo a mostrar de los datos
            comboBoxNiveles.DisplayMember = "Nombre";
            toolStripComboBoxTraducirAl.ComboBox.DisplayMember = "Nombre";


            //Funcion para saber que pregunta esta selecionada y el nivel de esta.

            ActualPosNivelIndex = BuscadorDePreguntas.GetPreguntaLevel(preguntas, preguntaIdioma);


            //Elementos por defecto que se muestran al iniciar el programa


            //Selecionando el elemento Idioma Defualt

            //Selecionando el elemento nivel en funcion del valor de PosNivel

            //Selecionando el elemento Pregunta en funcion de el valor PosPregunta
            toolStripComboBoxTraducirAl.ComboBox.SelectedItem = toolStripComboBoxTraducirAl.ComboBox.Items[0];

            comboBoxNiveles.SelectedItem = comboBoxNiveles.Items[ActualPosNivelIndex];

            ActualPreguntaIndex = BuscadorDePreguntas.GetPreguntaPos(Preguntas[niveles[ActualPosNivelIndex]], preguntaIdioma);
            toolStripComboBoxPregunta.SelectedItem = toolStripComboBoxPregunta.ComboBox.Items[ActualPreguntaIndex];



            OmplirLayoutPregunta(preguntaIdioma);
        }
Пример #2
0
        private void ActualitzarListPreguntas(Nivel nivel)
        {
            Exposicion expo = GetSelectedExposicion();

            // if (expo.Preguntas != null && expo.Preguntas[nivel] != null)

            if (expo.Preguntas != null)
            {
                if (expo.Preguntas.ContainsKey(nivel))
                {
                    List <Pregunta> preguntas = expo.Preguntas[nivel];
                    if (tabControlIdiomas.SelectedTab != null)
                    {
                        int cnt = 0;
                        foreach (TabPage pageid in tabControlIdiomas.Controls)
                        {
                            ListView listview = (ListView)pageid.Controls[0];
                            listview.Items.Clear();
                            listview.Items.AddRange(ListViews.AddItems(preguntas, expo.Idiomas[cnt]));
                            cnt++;
                        }
                        SelectedPreguntaIdioma = null;
                    }
                }
                else
                {
                    if (tabControlIdiomas.Controls.Count > 0)
                    {
                        ListView vista = ((ListView)tabControlIdiomas.Controls[0].Controls[0]);
                        vista.Items.Clear();
                    }
                }
            }
        }
Пример #3
0
        private void AñadirPregunta(Nivel nivel, Exposicion expo)
        {
            Dictionary <Idioma, PreguntaIdioma> emptypreguntaIdiomas = ControladorPrincipal.GetEmptyPreguntaIdiomas(expo.Idiomas);
            Pregunta p = new Pregunta(emptypreguntaIdiomas);

            expo.Preguntas[nivel].Add(p);
            SelectedPreguntaIdioma = p.PreguntaIdiomas[expo.Idiomas[0]];
        }
Пример #4
0
 public void llenar(PreguntaIdioma preguntaIdioma)
 {
     Pregunta.Text              = preguntaIdioma.Pregunta;
     Resposta_Correcte.Text     = preguntaIdioma.RespuestaCorrecta;
     Resposta_Incorrecete1.Text = preguntaIdioma.RespuestaIncorrecta1;
     Resposta_Incorrecete2.Text = preguntaIdioma.RespuestaIncorrecta2;
     Resposta_Incorrecete3.Text = preguntaIdioma.RespuestaIncorrecta3;
     Explicacio.Text            = preguntaIdioma.StringRespuestaCorrecta;
     Enllaz.Text = preguntaIdioma.StringLinkRespuestaCorrecta;
 }
Пример #5
0
        private void EliminarPreguntaByPreguntaIdioma(PreguntaIdioma preguntaIdioma)
        {
            Exposicion exposicion = GetSelectedExposicion();
            int        pregunta   = BuscadorDePreguntas.GetPreguntaPos(exposicion.Preguntas[GetSelectedNivel()], preguntaIdioma);

            if (pregunta != -1)
            {
                exposicion.Preguntas[GetSelectedNivel()].Remove(exposicion.Preguntas[GetSelectedNivel()][pregunta]);
            }
            ActualitzarListPreguntas(GetSelectedNivel());
        }
Пример #6
0
 //Amb la id pregunta que rep com a parametre omple els camps de la pantalla en funcio de com estaba aquesta.
 public void OmplirLayoutPregunta(PreguntaIdioma preguntaIdioma)
 {
     if (Preguntas[Niveles[ActualPosNivelIndex]][ActualPreguntaIndex].IsRespTexto)
     {
         radioButtonTexto.Checked = true;
     }
     else
     {
         radioButtonImagen.Checked = true;
     }
     Predeterminado.llenar(preguntaIdioma);
 }
Пример #7
0
        public PreguntaIdioma GuardarAPreguntaIdioma()
        {
            PreguntaIdioma preguntaIdioma = new PreguntaIdioma("", "", "", "", "");

            preguntaIdioma.Pregunta                    = Pregunta.Text;
            preguntaIdioma.RespuestaCorrecta           = Resposta_Correcte.Text;
            preguntaIdioma.RespuestaIncorrecta1        = Resposta_Incorrecete1.Text;
            preguntaIdioma.RespuestaIncorrecta2        = Resposta_Incorrecete2.Text;
            preguntaIdioma.RespuestaIncorrecta3        = Resposta_Incorrecete3.Text;
            preguntaIdioma.StringRespuestaCorrecta     = Explicacio.Text;
            preguntaIdioma.StringLinkRespuestaCorrecta = Enllaz.Text;
            return(preguntaIdioma);
        }
Пример #8
0
        private void llenarComboBoxPreguntas(Nivel nivel)
        {
            toolStripComboBoxPregunta.ComboBox.Items.Clear();

            foreach (Pregunta pregunta in Preguntas[nivel])
            {
                if (pregunta.PreguntaIdiomas.ContainsKey(Idiomas[0]))
                {
                    PreguntaIdioma preguntaIdioma = pregunta.PreguntaIdiomas[Idiomas[0]];
                    toolStripComboBoxPregunta.ComboBox.Items.Add(preguntaIdioma);
                }
            }
        }
Пример #9
0
        /***********
        * EVENTOS *
        ***********/
        /// <summary>
        /// Se ejecuta cuando el usuario cambia de selección en ListViewPreguntas
        /// </summary>
        /// <param name="sender">Elemento que envia el evento</param>
        /// <param name="e">Evento llamado</param>
        private void listViewPreguntas_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListView listView = (ListView)sender;

            SelectedPreguntaIdioma = null;

            if (listView.SelectedItems.Count > 0)
            {
                Console.WriteLine("No es igual a null");
                SelectedPreguntaIdioma = (PreguntaIdioma)listView.SelectedItems[0].Tag;
            }

            ControladorPrincipal.EstaSelecionado((ListView)sender, buttonAnadirPregunta, "Añadir Pregunta", "Modificar Pregunta");
        }
        public static int GetPreguntaPos(List <Pregunta> preguntas, PreguntaIdioma preguntaIdioma)
        {
            int posPregunta = -1;
            int CntPregunta = 0;

            foreach (Pregunta pregunta in preguntas)
            {
                if (pregunta.PreguntaIdiomas.ContainsValue(preguntaIdioma))
                {
                    posPregunta = CntPregunta;
                }
                CntPregunta++;
            }
            return(posPregunta);
        }
Пример #11
0
        public static ListViewItem ToListViewItem(PreguntaIdioma preguntaIdioma)
        {
            ListViewItem item = new ListViewItem();

            item.SubItems.Add(preguntaIdioma.Pregunta);
            item.SubItems.Add(preguntaIdioma.RespuestaCorrecta);
            item.SubItems.Add(preguntaIdioma.RespuestaIncorrecta1);
            item.SubItems.Add(preguntaIdioma.RespuestaIncorrecta2);
            item.SubItems.Add(preguntaIdioma.RespuestaIncorrecta3);
            item.Tag = preguntaIdioma;

            if (preguntaIdioma == null || preguntaIdioma.isEmpty())
            {
                item.BackColor = ColorTranslator.FromHtml("#ffb2ae");
            }
            else
            {
                item.BackColor = ColorTranslator.FromHtml("#aeffb2");
            }
            item.Text = numero.ToString();
            numero++;
            return(item);
        }
Пример #12
0
        /// <summary>
        /// Se ejecuta cuando el usuario hace click en el ButtonAnadirPregunta
        /// </summary>
        /// <param name="sender">Elemento que envia el evento</param>
        /// <param name="e">Evento llamado</param>
        private void buttonAnadirPregunta_Click(object sender, EventArgs e)
        {
            if (SelectedPreguntaIdioma == null || (SelectedPreguntaIdioma == null && (!GetSelectedIdioma().Equals(GetSelectedExposicion().Idiomas[0]))))
            {
                AñadirPregunta(GetSelectedNivel(), GetSelectedExposicion());
            }
            else if (!GetSelectedIdioma().Equals(GetSelectedExposicion().Idiomas[0]))
            {
                Console.WriteLine("NonEquals");
                Exposicion      exposicion      = GetSelectedExposicion();
                List <Pregunta> Preguntasxlevel = exposicion.Preguntas[GetSelectedNivel()];
                int             PreguntPos      = BuscadorDePreguntas.GetPreguntaPos(Preguntasxlevel, SelectedPreguntaIdioma);

                SelectedPreguntaIdioma = exposicion.Preguntas[GetSelectedNivel()][PreguntPos].PreguntaIdiomas[exposicion.Idiomas[0]];
            }

            if (SelectedPreguntaIdioma != null)
            {
                FormModificarPregunta formModificarPregunta = new FormModificarPregunta(SelectedPreguntaIdioma, GetSelectedExposicion().Preguntas, GetSelectedExposicion().Niveles, GetSelectedExposicion().Idiomas, GetSelectedExposicion().Id);
                formModificarPregunta.ShowDialog();
                formModificarPregunta.Dispose();
            }
            ActualitzarListPreguntas(GetSelectedNivel());
        }
        public static int GetPreguntaLevel(Dictionary <Nivel, List <Pregunta> > nivel_ListPreguntas, PreguntaIdioma preguntaIdioma)
        {
            int CntNivel = 0;
            int posnivel = -1;

            foreach (KeyValuePair <Nivel, List <Pregunta> > entry in nivel_ListPreguntas)
            {
                Console.WriteLine("Numero de Preguntas en Nivel " + entry.Key.Nombre + ": " + entry.Value.Count());

                List <Pregunta> preguntas      = (List <Pregunta>)entry.Value;
                int             getPreguntaPos = GetPreguntaPos(preguntas, preguntaIdioma);
                if (getPreguntaPos != -1)
                {
                    posnivel = CntNivel;
                }
                CntNivel++;
            }
            return(posnivel);
        }