private void AddObjectButton_Click(object sender, EventArgs e) { IApartment apartment; // Квартира ApartmentForm apartmentForm; // Форма редактирования квартиры HomeSelectForm homeSelectForm; // Выбор дома IObject obj; bool entityNeedSave; // Флаг необходимости сохранения сущности apartment = _apartments.Create(); // Создать квартиру obj = _objects.Create(); homeSelectForm = new HomeSelectForm(_homes); // Создать форму выбора дома homeSelectForm.ShowDialog(); // Отобразить форму выбора дома apartment.Home = homeSelectForm.SelectedHome; // Связать дом с квартирой if (apartment.Home != null) // Проверить связанный с квартирой дом { apartment.Object = obj; apartmentForm = new ApartmentForm(apartment, _homes, _objects); // Создать форму для редактирования квартиры apartmentForm.ShowDialog(); // Отобразить форму для редактирования квартиры entityNeedSave = apartmentForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _apartments.Add(apartment); // Добавить созданный квартира в список } } }
/// <summary> /// Метод. Создает новую квартиру и открывает диалоговое окно для ее редактирования /// </summary> private void addToolStripMenuItem_Click(object sender, EventArgs e) { IApartment apartment; // Квартира IHome home; // Дом, связанный с квартирой ApartmentForm apartmentForm; // Форма редактирования квартиры DataGridViewRow selectedRow; // Выделенная строка IObject obj; int rowCount; // Общее количество квартир в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество квартир в списке selectedRowIndex = 0; // Задать индекс выделенной строки if (rowCount > 0) // Проверить общее количество квартир { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки } apartment = _apartments.Create(); // Создать квартиру obj = _objects.Create(); home = _homes.Create(); // Создать дом, связанный с квартирой apartment.Home = home; // Связать дом с квартирой apartment.Object = obj; apartmentForm = new ApartmentForm(apartment, _homes, _objects); // Создать форму для редактирования квартиры apartmentForm.ShowDialog(); // Отобразить форму для редактирования квартиры entityNeedSave = apartmentForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _apartments.Add(apartment); // Добавить созданную квартиру в список } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей if (rowCount > 0) // Проверить общее количество квартир { SelectRow(selectedRowIndex); // Выделить строку } SetButtonActivity(); // Задать активность элементов управления }