/// <summary> /// Вывести список сотрудников на контрол DataGridView, настроенный через SetUpGrid. Не очищает имеющиеся элементы. /// </summary> /// <param name="grid"></param> /// <param name="department"></param> public async void SelectEmployeeToGrid(DepartmentCS department) { try { MainForm.EmployeeDataGridView.Rows.Clear(); var employees = await _serviceManager.GetEmployeesByDepartment(department.ID); MainForm.EmployeeDataGridView.SelectEmployeeToGrid(employees.ToArray()); } 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, "Ошибка в загрузке сотрудников"); } }