Esempio n. 1
0
        private void MenuTray_DeleteMenuItem_DropDownOpened(object sender, EventArgs e)
        {
            DepartmentCS selectedDepartment = null;

            if (DepartmentStructureTreeView.SelectedNode != null)
            {
                selectedDepartment = (DepartmentCS)DepartmentStructureTreeView.SelectedNode.Tag;
                deleteDepartmentToolStripMenuItem.Text    = $"Удаление подразделение \"{selectedDepartment.ToString()}\"";
                deleteDepartmentToolStripMenuItem.Enabled = true;
            }
            else
            {
                deleteDepartmentToolStripMenuItem.Text    = "Подразделение не выбрано";
                deleteDepartmentToolStripMenuItem.Enabled = false;
            }

            EmployeeCS selectedEmpl = null;

            if (EmployeeDataGridView.SelectedRows.Count > 0 && EmployeeDataGridView.SelectedRows[0].Index != EmployeeDataGridView.Rows.Count - 1)
            {
                selectedEmpl = (EmployeeCS)EmployeeDataGridView.SelectedRows[0].Tag;
                deleteEmployeeToolStripMenuItem.Text    = $"Удаление сотрудника \"{selectedEmpl.SurName} {selectedEmpl.FirstName} - {selectedEmpl.Position}\"";
                deleteEmployeeToolStripMenuItem.Enabled = true;
            }
            else
            {
                deleteEmployeeToolStripMenuItem.Text    = "Сотрудник не выбран";
                deleteEmployeeToolStripMenuItem.Enabled = false;
            }
        }
Esempio n. 2
0
        public async void DeleteEmployee(EmployeeCS employee)
        {
            try
            {
                await _serviceManager.DeleteEmployee(employee);

                // обновление интерфейса если нужно
                var selectedDep = (DepartmentCS)MainForm.DepartmentStructureTreeView.SelectedNode.Tag;
                if (employee.DepartmentID == selectedDep.ID)
                {
                    UpdateVisibleEmployees(selectedDep);
                }
            }
            catch (FaultException <DefaultFault> ex) // контролируемая ситуация на сервисе
            {
                // сообщение об ошибке для пользователя
                MessageBox.Show(ex.Detail.Message, ex.Action, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (FaultException) // непредвиденная проблема на сервисе, см лог на сервисе
            {
                // неизвестная ошибка на сервисе
                MessageBox.Show("Неизвестная ошибка сервиса. Операция не выполнена.", null, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex) // что-то совсем пошло не так (включая CommunicationException и TimeOutException)
            {
                MessageBox.Show("Возникла ошибка: " + ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                _logger.Error(ex, "Ошибка в удалении сотрудника");
            }
        }
Esempio n. 3
0
        public void EmployeeBaseValidate_AllBad()
        {
            // Arrange
            var employee = new EmployeeCS()
            {
                DocSeries = "1001lkjdfsa",
                DocNumber = "123456dfrg",

                SurName      = "Кирилл1234Кирилл1234Кирилл1234Кирилл1234Кирилл1234!",
                Patronymic   = "ВалерьевичВалерьевичВалерьевичВалерьевичВалерьевич!",
                Position     = "НащальникаНащальникаНащальникаНащальникаНащальника!",
                DepartmentID = Guid.Empty
            };
            // Act
            bool result = false;

            try
            {
                result = employee.Validate();
            }
            catch (AggregateException e)
            {
                // Assert
                Assert.AreEqual(e.InnerExceptions.Count, 8);
                return;
            }
            // Assert
            Assert.Fail();
        }
Esempio n. 4
0
    protected void LoadGridViewEmployees()
    {
        EmployeeCS emp = new EmployeeCS();

        GridViewEmployees.DataSource = emp.GetEmployees();
        GridViewEmployees.DataBind();
    }
        public async Task DeleteEmployee(EmployeeCS employee)
        {
            _client = new DALServiceClient();
            var t = _mapper.Map <Employee_dto>(employee);
            await _client.DeleteEmployeeAsync(t, CurrentConnectionString);

            _client.Close();
        }
        public async Task <int> AddEmployee(EmployeeCS employee)
        {
            _client = new DALServiceClient();
            var t      = _mapper.Map <Employee_dto>(employee);
            var result = await _client.AddEmployeeAsync(t, CurrentConnectionString);

            _client.Close();
            return(result);
        }
Esempio n. 7
0
        public void EmployeeBaseValidate_AllGood()
        {
            // Arrange
            var employee = new EmployeeCS()
            {
                DateOfBirth  = DateTime.Now,
                DocSeries    = "1001",
                DocNumber    = "123456",
                FirstName    = "Николавев",
                SurName      = "Кирилл",
                Patronymic   = "Валерьевич",
                Position     = "Нащальника",
                DepartmentID = Guid.NewGuid()
            };
            // Act
            bool result = employee.Validate();

            // Assert
            Assert.IsTrue(result);
        }
Esempio n. 8
0
        public async void EditEmployeeShowDialog(EmployeeCS employee)
        {
            try
            {
                if (AddEmployeeForm == null)
                {
                    AddEmployeeForm = new AddEmployeeForm();
                }
                this.AddEmployeeForm.DepartmentList   = this.GetDepartmentList();
                this.AddEmployeeForm.RepresentedValue = employee;
                this.AddEmployeeForm.Text             = "Редактирование сотрудника";
                if (AddEmployeeForm.ShowDialog() == DialogResult.OK)
                {
                    var t = (EmployeeCS)this.AddEmployeeForm.RepresentedValue;
                    t.ID = employee.ID;
                    await _serviceManager.EditEmployee(t);

                    // обновление интерфейса если нужно
                    var selectedDep = (DepartmentCS)MainForm.DepartmentStructureTreeView.SelectedNode.Tag;
                    if (t.DepartmentID == selectedDep.ID)
                    {
                        UpdateVisibleEmployees(selectedDep);
                    }
                }
            }
            catch (FaultException <DefaultFault> ex) // контролируемая ситуация на сервисе
            {
                // сообщение об ошибке для пользователя
                MessageBox.Show(ex.Detail.Message, ex.Action, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (FaultException) // непредвиденная проблема на сервисе, см лог на сервисе
            {
                // неизвестная ошибка на сервисе
                MessageBox.Show("Неизвестная ошибка сервиса. Операция не выполнена.", null, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex) // что-то совсем пошло не так (включая CommunicationException и TimeOutException)
            {
                MessageBox.Show("Возникла ошибка: " + ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                _logger.Error(ex, "Ошибка в редактировании сотрудника");
            }
        }