/// <summary> /// Метод. Открывает диалоговое окно для редактирования выделенного человека /// </summary> private void editButton_Click(object sender, EventArgs e) { IMan man; // Человек для редактирования ManForm manForm; // Форма редактирования человека DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество строк в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения человека после редактирования rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество строк в списке if (rowCount > 0) // Проверить общее количество строк { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки man = _mans.ToList()[selectedRowIndex]; // Получить выделенного человека manForm = new ManForm(man, _documents); // Создать форму для редактирования человека manForm.ShowDialog(); // Отобразить форму для редактирования человека entityNeedSave = manForm.EntityNeedSave; // Получить значение флага необходимости сохранения человека if (entityNeedSave == true) // Проверить флаг необходимости сохранения человека { _mans.SaveChanges(); // Сохранить изменения списка людей } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка людей SelectRow(selectedRowIndex); // Выделить строку } }
/// <summary> /// Метод. Создает нового человека на основе свободного документа и открывает диалоговое окно для его редактирования /// </summary> private void addByDocumentToolStripMenuItem_Click(object sender, EventArgs e) { IMan man; // Клиент ManForm manForm; // Форма редактирования человека DocumentSelectForm documentSelectForm; // Форма выбора документа DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество людей в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество людей в списке selectedRowIndex = 0; // Задать индекс выделенной строки if (rowCount > 0) // Проверить общее количество людей { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки } man = _mans.Create(); // Создать человека documentSelectForm = new DocumentSelectForm(_documents, null); // Создать форму выбора документа documentSelectForm.ShowDialog(); // Отобразить форму выбора документа man.Document = documentSelectForm.SelectedDocument; // Связать документ с человеком if (man.Document != null) // Проверить связанный с человеком документ { manForm = new ManForm(man, _documents); // Создать форму для редактирования человека manForm.ShowDialog(); // Отобразить форму для редактирования человека entityNeedSave = manForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _mans.Add(man); // Добавить созданного человека в список } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей if (rowCount > 0) // Проверить общее количество людей { SelectRow(selectedRowIndex); // Выделить строку } SetButtonActivity(); // Задать активность элементов управления } }