/// <summary> /// Метод. Выбирает улицу из списка улиц, сохраняет в поле и закрывает диалоговое окно /// </summary> private void selectButton_Click(object sender, EventArgs e) { DataGridViewRow selectedRow; // Выделенная строка int id; // Идентификатор выделенной улицы int rowCount; // Общее количество строк в списке int selectedRowIndex; // Индекс выделенной строки rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество строк в списке if (rowCount > 0) // Проверить общее количество строк { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки id = Convert.ToInt32(selectedRow.Cells["id"].Value); // Получить идентификатор улицы в выделенной строке _selectedStreet = _streets.GetStreet(id); // Получить выделенную улицу } CloseForm(); // Закрыть диалоговое окно }
/// <summary> /// Метод. Открывает диалоговое окно для редактирования выделенной улицы /// </summary> private void editButton_Click(object sender, EventArgs e) { IStreet street; // Улица StreetForm streetForm; // Форма редактирования улицы 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); // Получить идентификатор улицы в выделенной строке street = _streets.GetStreet(id); // Получить выделенную улицу streetForm = new StreetForm(street, _cities); // Создать форму для редактирования улицы streetForm.ShowDialog(); // Отобразить форму для редактирования улицы entityNeedSave = streetForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _cities.SaveChanges(); // Сохранить изменения списка улиц } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей SelectRow(selectedRowIndex); // Выделить строку } }