예제 #1
0
        /// <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();                                        // Задать активность элементов управления
            }
        }
예제 #2
0
        /// <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);                                // Выделить строку
            }
        }