/// <summary> /// Сохранение изменений /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonOk_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBoxCureName.Text)) { MessageBox.Show("Поля, отмеченные звёздочкой, обязательны для заполнения", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { var cureInfo = new CureClass(); cureInfo.Name = textBoxCureName.Text; cureInfo.DefaultPerDayCount = comboBoxPerDayCnt.Text; cureInfo.DefaultReceivingMethod = comboBoxReceivingMethod.Text; cureInfo.DefaultDuration = comboBoxDuration.Text; if (string.IsNullOrEmpty(_cureSaveName)) { if (_dbEngine.GetCureByName(cureInfo.Name) != null) { MessageBox.Show("Лекарство с таким именем уже существует. Используйте другое имя.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (textBoxCureName.Text.Contains("&") || comboBoxPerDayCnt.Text.Contains("&") || comboBoxReceivingMethod.Text.Contains("&") || comboBoxDuration.Text.Contains("&")) { MessageBox.Show("Использование символа '&' в полях запрещено т.к. может привести к внутренней ошибке программы. Используйте другой символ.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _dbEngine.AddCure(cureInfo); } else { if (_cureSaveName != cureInfo.Name && _dbEngine.GetCureByName(cureInfo.Name) != null) { MessageBox.Show("Лекарство с таким именем уже существует. Используйте другое имя.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (textBoxCureName.Text.Contains("&") || comboBoxPerDayCnt.Text.Contains("&") || comboBoxReceivingMethod.Text.Contains("&") || comboBoxDuration.Text.Contains("&")) { MessageBox.Show("Использование символа '&' в полях запрещено т.к. может привести к внутренней ошибке программы. Используйте другой символ.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _dbEngine.UpdateCure(_cureSaveName, cureInfo); } _isFormClosingByButton = true; Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }