Beispiel #1
0
        /// <summary>
        /// Метод. Открывает диалоговое окно для редактирования выделенной квартиры
        /// </summary>
        private void editButton_Click(object sender, EventArgs e)
        {
            IApartment      apartment;                                      // Квартира
            IObject         obj;
            ApartmentForm   apartmentForm;                                  // Форма редактирования квартиры
            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);        // Получить идентификатор квартиры в выделенной строке

                apartment = _apartments.GetAppartment(id);                  // Получить выделенную квартиру
                obj       = _objects.GetObject(((IEntity)apartment.Object).Id);

                apartmentForm = new ApartmentForm(apartment, _homes, _objects); // Создать форму для редактирования квартиры

                apartmentForm.ShowDialog();                                     // Отобразить форму для редактирования квартиры

                entityNeedSave = apartmentForm.EntityNeedSave;                  // Получить значение флага необходимости сохранения сущности

                if (entityNeedSave == true)                                     // Проверить флаг необходимости сохранения сущности
                {
                    _apartments.SaveChanges();                                  // Сохранить изменения списка квартир
                }

                FillEntitiesDataGridView();                                 // Заполнить данными элемент отображения списка сущностей

                SelectRow(selectedRowIndex);                                // Выделить строку
            }
        }