/// <summary> /// Метод. Создает новый регион на основе страны и открывает диалоговое окно для его редактирования /// </summary> private void addByCountryToolStripMenuItem_Click(object sender, EventArgs e) { IRegion region; // Регион RegionForm regionForm; // Форма редактирования региона CountrySelectForm countrySelectForm; // Форма выбора страны DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество регионов в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество регионов в списке selectedRowIndex = 0; // Задать индекс выделенной строки if (rowCount > 0) // Проверить общее количество регионов { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки } region = _regions.Create(); // Создать регион countrySelectForm = new CountrySelectForm(_countries); // Создать форму выбора страны countrySelectForm.ShowDialog(); // Отобразить форму выбора страны region.Country = countrySelectForm.SelectedCountry; // Связать страну с регионом if (region.Country != null) // Проверить связанную с регионом страну { regionForm = new RegionForm(region, _countries); // Создать форму для редактирования региона regionForm.ShowDialog(); // Отобразить форму для редактирования региона entityNeedSave = regionForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _regions.Add(region); // Добавить созданный регион в список } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей if (rowCount > 0) // Проверить общее количество регионов { SelectRow(selectedRowIndex); // Выделить строку } SetButtonActivity(); // Задать активность элементов управления } }
/// <summary> /// Метод. Открывает диалоговое окно для редактирования выделенного региона /// </summary> private void editButton_Click(object sender, EventArgs e) { IRegion region; // Регион RegionForm regionForm; // Форма редактирования региона DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество строк в списке int selectedRowIndex; // Индекс выделенной строки int id; // Идентификатор выделенного региона bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество строк в списке if (rowCount > 0) // Проверить общее количество строк { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки id = Convert.ToInt32(selectedRow.Cells["id"].Value); // Получить идентификатор региона в выделенной строке region = _regions.GetRegion(id); // Получить выделенный регион regionForm = new RegionForm(region, _countries); // Создать форму для редактирования региона regionForm.ShowDialog(); // Отобразить форму для редактирования региона entityNeedSave = regionForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _regions.SaveChanges(); // Сохранить изменения списка регионов } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей SelectRow(selectedRowIndex); // Выделить строку } }