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); }
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."); }