private void okButton_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(sumTextBox.Text)) { MessageBox.Show("Введите сумму", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { int sum; if (!int.TryParse(sumTextBox.Text, out sum)) { throw new InvalidValueOfSumException(); } var listOfCountsOfBills = _cashMachine.GetCash(sumTextBox.Text, cashComboBox.SelectedIndex, sum); var stringBuilder = new StringBuilder("Выдано:"); for (var i = 0; i < listOfCountsOfBills.Count; ++i) { if (listOfCountsOfBills[i] != 0) { stringBuilder.Append($"\n{_cashMachine.ListOfBills[i].Name} - {listOfCountsOfBills[i]} шт."); } } stringBuilder.Append($"\nОбщая сумма - {sumTextBox.Text} руб."); MessageBox.Show(stringBuilder.ToString(), "Выполнено", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; Hide(); } catch (InvalidValueOfSumException) { MessageBox.Show("Введите корректную сумму \nСумма должна быть положительна и кратна 10 руб.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ExceedingSumException) { MessageBox.Show("В банкомате отсутствует такая сумма денег", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ImpossibleCashCombinationException) { MessageBox.Show("Невозможно подобрать необходимую сумму, пожалуйста введите другую сумму", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }