118
/// <summary>
/// Проверка корректности ввода данных вопроса
/// </summary>
/// <returns>Результат проверки</returns>
private bool CheckQuestion()
{
// Временные данные
int score = 0;
bool true_answer_exists = false;
// Не заполнен текст вопроса
if (txtQuestionText.Text.Trim() == string.Empty)
{
MessageBox.Show("Не заполнен текст вопроса!", "Действие невозможно",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
// Не указаны варианты ответа
if (dgvData.Rows.Count < 2)
{
MessageBox.Show("Должно быть, как минимум, два варианта ответа",
"Действие невозможно",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
// Некорректные данные вариантов ответа
foreach (DataGridViewRow dgvr in dgvData.Rows)
{
// Не заполнен вариант ответа
if (Convert.ToString(dgvr.Cells[1].Value) == string.Empty)
{
MessageBox.Show("Варианты ответа не могут быть пустыми!", "Действие
невозможно",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
// Некорректное значение балла за ответ
if (!Int32.TryParse(Convert.ToString(dgvr.Cells[2].Value), out score))
{
MessageBox.Show("Указан некорректный балл, как минимум, за один из
вариантов ответа!", "Действие невозможно",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
// Нулевой балл за правильный ответ
if (Convert.ToBoolean(dgvr.Cells[3].Value) == true)
{
true_answer_exists = true;
if (score <= 0)
{
MessageBox.Show("За верный ответ не может быть назначен
отрицательный или нулевой балл!", "Действие невозможно",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
return false;
}
}
}
// Не указан правильный ответ
if (!true_answer_exists)
{
MessageBox.Show("Должен быть указан хотя бы одни верный вариант ответа на
вопрос!", "Действие невозможно",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);