Esempio n. 1
0
        /// <summary>
        /// Метод. Создает нового сотрудника на основе свободного человека и открывает диалоговое окно для его редактирования
        /// </summary>
        private void addByMenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IEmployee       employee;                                    // Сотрудник
            EmployeeForm    employeeForm;                                // Форма редактирования сотрудника
            ManSelectForm   manSelectForm;                               // Форма выбора человека
            DataGridViewRow selectedRow;                                 // Выделенная строка

            int  rowCount;                                               // Общее количество сотрудников в списке
            int  selectedRowIndex;                                       // Индекс выделенной строки
            bool entityNeedSave;                                         // Флаг необходимости сохранения сущности

            rowCount = entitiesDataGridView.Rows.Count;                  // Получить общее количество сотрудников в списке

            selectedRowIndex = 0;                                        // Задать индекс выделенной строки
            if (rowCount > 0)                                            // Проверить общее количество сотрудников
            {
                selectedRow      = entitiesDataGridView.SelectedRows[0]; // Получить выделенную строку
                selectedRowIndex = selectedRow.Index;                    // Получить индекс выделенной строки
            }

            employee = _employees.Create();                             // Создать сотрудника

            manSelectForm = new ManSelectForm(                          // Создать форму выбора человека
                _mans,
                null,
                ManSelectForm.ManSelectType.SelectForEmployee);

            manSelectForm.ShowDialog();                                 // Отобразить форму выбора человека

            employee.Man = manSelectForm.SelectedMan;                   // Связать человека с сотрудником

            if (employee.Man != null)                                   // Проверить связанного с сотрудником человека
            {
                employeeForm = new EmployeeForm(employee, _mans);       // Создать форму для редактирования сотрудника

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

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

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

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

                if (rowCount > 0)                                       // Проверить общее количество сотрудников
                {
                    SelectRow(selectedRowIndex);                        // Выделить строку
                }

                SetButtonActivity();                                    // Задать активность элементов управления
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Метод. Открывает диалоговое окно для редактирования выделенного сотрудника
        /// </summary>
        private void editButton_Click(object sender, EventArgs e)
        {
            IEmployee       employee;                                       // Сотрудник
            EmployeeForm    employeeForm;                                   // Форма редактирования сотрудника
            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);        // Получить идентификатор сотрудника в выделенной строке

                employee = _employees.GetEmployee(id);                      // Получить выделенного сотрудника

                employeeForm = new EmployeeForm(employee, _mans);           // Создать форму для редактирования сотрудника

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

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

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

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

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