Example #1
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            //Típico control de entrada.

            if (tPregunta.Text.Equals(""))
            {
                MessageBox.Show("El campo de la pregunta no puede estar vacío.");
                return;
            }
            if (comboRespuestas.SelectedIndex == -1)
            {
                MessageBox.Show("Debes seleccionar el número de respuestas.");
                return;
            }
            if (comboAsignatura.SelectedIndex == -1)
            {
                MessageBox.Show("Debes seleccionar la asignatura.");
                return;
            }
            if (comboTema.SelectedIndex == -1)
            {
                MessageBox.Show("Debes seleccionar el tema.");
                return;
            }

            bool errorVacio     = false;
            bool errorRespuesta = true;

            for (int k = 0; k < listaLabels.Count; k++)
            {
                if (listaRespuestas[k].Text.Equals(""))
                {
                    errorVacio = true;
                    break;
                }
                if (listaRadioResp[k].Checked == true)
                {
                    errorRespuesta = false;
                }
            }

            if (errorVacio)
            {
                MessageBox.Show("Las respuestas no pueden estar en blanco.");
                return;
            }
            if (errorRespuesta)
            {
                MessageBox.Show("Tiene que haber una respuesta correcta.");
                return;
            }
            int           correcta   = 0;
            List <String> respuestas = new List <String>();

            for (int k = 0; k < listaRespuestas.Count; k++)
            {
                respuestas.Add(listaRespuestas[k].Text);
            }
            for (int k = 0; k < listaLabels.Count; k++)
            {
                if (listaRadioResp[k].Checked)
                {
                    correcta = k + 1;
                }
            }
            Clases.Pregunta pregunta = new Clases.Pregunta(tPregunta.Text, respuestas, correcta, repo.findTemaByName(comboTema.SelectedItem.ToString()));
            repo.insertPregunta(pregunta);
        }
Example #2
0
        private void btnGenerar_Click(object sender, EventArgs e)
        {
            int        numPreguntas;
            int        valorPreguntaAcertada;
            int        valorPreguntaFallada;
            int        valorPreguntaVacia;
            List <int> listaPreguntasTotales   = new List <int>();
            List <int> listaPreguntasEscogidas = new List <int>();

            if (comboAsignatura.SelectedIndex == -1)
            {
                MessageBox.Show("Debes seleccionar la asignatura.");
                return;
            }

            /*         if (comboTema.SelectedIndex == -1)
             *       {
             *           MessageBox.Show("Debes seleccionar el tema.");
             *           return;
             *       }*/
            if (tNumero.Text.Equals("") || tNumero.Text.Equals("0"))
            {
                MessageBox.Show("Introduzca el número de preguntas.");
                return;
            }
            try
            {
                numPreguntas          = Convert.ToInt32(tNumero.Text);
                valorPreguntaAcertada = 10 / numPreguntas;
            }
            catch
            {
                MessageBox.Show("Introduzca un número válido de preguntas.");
                return;
            }
            try
            {
                valorPreguntaVacia = 1 / Convert.ToInt32(tVacias.Text);
            }
            catch (DivideByZeroException a)
            {
                valorPreguntaVacia = 0;
            }
            catch
            {
                MessageBox.Show("Introduzca un valor válido.");
                return;
            }
            try
            {
                valorPreguntaFallada = 1 / Convert.ToInt32(tIncorrectas.Text);
            }
            catch (DivideByZeroException a)
            {
                valorPreguntaFallada = 0;
            }
            catch
            {
                MessageBox.Show("Introduzca un valor válido.");
                return;
            }

            String asignatura = comboAsignatura.SelectedItem.ToString();
            String tema       = comboTema.SelectedItem.ToString();

            listaPreguntasTotales = repo.getPreguntas(asignatura, tema);

            if (numPreguntas > listaPreguntasTotales.Count)
            {
                MessageBox.Show("No hay tantas preguntas guardadas.");
                return;
            }
            Random rnd = new Random();

            for (int i = 0; i < listaPreguntasTotales.Count; i++)
            {
                int indice = rnd.Next(1, listaPreguntasTotales.Count);
                listaPreguntasEscogidas.Add(listaPreguntasTotales[indice - 1]);
            }
            Clases.Examen examen = new Clases.Examen(repo.findTemaByName(tema));
            examen = repo.insertExamen(examen);
            MessageBox.Show("Generado.");
        }