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