/// <summary> /// Метод. Создает новый город на основе региона и открывает диалоговое окно для его редактирования /// </summary> private void addByCountryToolStripMenuItem_Click(object sender, EventArgs e) { ICity city; // Город CityForm cityForm; // Форма редактирования города RegionSelectForm regionSelectForm; // Форма выбора региона DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество городов в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество городов в списке selectedRowIndex = 0; // Задать индекс выделенной строки if (rowCount > 0) // Проверить общее количество городов { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки } city = _cities.Create(); // Создать город regionSelectForm = new RegionSelectForm( // Создать форму выбора региона _regions); regionSelectForm.ShowDialog(); // Отобразить форму выбора региона city.Region = regionSelectForm.SelectedRegion; // Связать регион с городом if (city.Region != null) // Проверить связанный с городом регион { cityForm = new CityForm(city, _regions); // Создать форму для редактирования города cityForm.ShowDialog(); // Отобразить форму для редактирования региона entityNeedSave = cityForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _cities.Add(city); // Добавить созданный город в список } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей if (rowCount > 0) // Проверить общее количество городов { SelectRow(selectedRowIndex); // Выделить строку } SetButtonActivity(); // Задать активность элементов управления } }
/// <summary> /// Метод. Открывает диалоговое окно для редактирования выделенного города /// </summary> private void editButton_Click(object sender, EventArgs e) { ICity city; // Город CityForm cityForm; // Форма редактирования города 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); // Получить идентификатор города в выделенной строке city = _cities.GetCity(id); // Получить выделенный город cityForm = new CityForm(city, _regions); // Создать форму для редактирования города cityForm.ShowDialog(); // Отобразить форму для редактирования города entityNeedSave = cityForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _cities.SaveChanges(); // Сохранить изменения списка городов } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей SelectRow(selectedRowIndex); // Выделить строку } }