/// <summary> /// Метод. Создает новый отчет и открывает диалоговое окно для его редактирования /// </summary> private void addButton_Click(object sender, EventArgs e) { IReport report; // Отчет ReportForm reportForm; // Форма редактирования отчета DataGridViewRow selectedRow; // Выделенная строка int rowCount; // Общее количество отчетов в списке int selectedRowIndex; // Индекс выделенной строки bool entityNeedSave; // Флаг необходимости сохранения сущности rowCount = entitiesDataGridView.Rows.Count; // Получить общее количество отчетов в списке selectedRowIndex = 0; // Задать индекс выделенной строки if (rowCount > 0) // Проверить общее количество отчетов { selectedRow = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку selectedRowIndex = selectedRow.Index; // Получить индекс выделенной строки } report = _reports.Create(); // Создать отчет reportForm = new ReportForm( // Создать форму для редактирования отчета report, _clients, _employees, _apartments, _objects, _homes, _man, _document); reportForm.ShowDialog(); // Отобразить форму для редактирования отчета entityNeedSave = reportForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _reports.Add(report); // Добавить созданный отчет в список } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей if (rowCount > 0) // Проверить общее количество отчетов { SelectRow(selectedRowIndex); // Выделить строку } SetButtonActivity(); // Задать активность элементов управления }
/// <summary> /// Метод. Открывает диалоговое окно для редактирования выделенного отчета /// </summary> private void editButton_Click(object sender, EventArgs e) { IReport report; // Отчет ReportForm reportForm; // Форма редактирования отчета 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); // Получить идентификатор отчета в выделенной строке report = _reports.GetReport(id); // Получить выделенный отчет reportForm = new ReportForm( // Создать форму для редактирования отчета report, _clients, _employees, _apartments, _objects, _homes, _man, _document); reportForm.ShowDialog(); // Отобразить форму для редактирования отчета entityNeedSave = reportForm.EntityNeedSave; // Получить значение флага необходимости сохранения сущности if (entityNeedSave == true) // Проверить флаг необходимости сохранения сущности { _reports.SaveChanges(); // Сохранить изменения списка отчетов } FillEntitiesDataGridView(); // Заполнить данными элемент отображения списка сущностей SelectRow(selectedRowIndex); // Выделить строку } }