/// <summary> /// Метод. Создает новый дом на основе комплекса и открывает диалоговое окно для его редактирования /// </summary> private void addByComplexToolStripMenuItem_Click(object sender, EventArgs e) { IHome home; // Дом HomeForm homeForm; // Форма редактирования дома ComplexSelectForm complexSelectForm; // Форма выбора комплекса DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество домов в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество домов в списке selectedRowIndex = 0; // Задать индекс выделенной строки if (rowCount > 0) // Проверить общее количество домов { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки } home = _homes.Create(); // Создать дом complexSelectForm = new ComplexSelectForm(_complexes); // Создать форму выбора комплекса complexSelectForm.ShowDialog(); // Отобразить форму выбора комплекса home.Complex = complexSelectForm.SelectedComplex; // Связать комплекс с домом if (home.Complex != null) // Проверить связанный с домом комплекс { homeForm = new HomeForm(home, _streets, _complexes, _districts); // Создать форму для редактирования дома homeForm.ShowDialog(); // Отобразить форму для редактирования дома entityNeedSave = homeForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _homes.Add(home); // Добавить созданный дом в список } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей if (rowCount > 0) // Проверить общее количество домов { SelectRow(selectedRowIndex); // Выделить строку } SetButtonActivity(); // Задать активность элементов управления } }
/// <summary> /// Метод. Открывает диалоговое окно для редактирования выделенного дома /// </summary> private void editButton_Click(object sender, EventArgs e) { IHome home; // Дом HomeForm homeForm; // Форма редактирования дома 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); // Получить идентификатор дома в выделенной строке home = _homes.GetHome(id); // Получить выделенный дом homeForm = new HomeForm(home, _streets, _complexes, _districts); // Создать форму для редактирования дома homeForm.ShowDialog(); // Отобразить форму для редактирования дома entityNeedSave = homeForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _homes.SaveChanges(); // Сохранить изменения списка домов } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей SelectRow(selectedRowIndex); // Выделить строку } }