public void QueryEmployeeByName(string empName) { EmployeeQueryHandlerWebServer employeeQueryHandlerWebServer = new EmployeeQueryHandlerWebServer(_connectionAgent); EmplyeeViewModelQuery emplyeeViewModelQuery = new EmplyeeViewModelQuery(employeeQueryHandlerWebServer, EmplyeeViewModelQuery.SearchFilter.ByEmployeeName); Task workItemsLoadingTask = Task.Run(() => emplyeeViewModelQuery.GetEmployeesAsync(empName)); workItemsLoadingTask.Wait(); Assert.IsTrue(emplyeeViewModelQuery.RetrievedEmployees.Count > 0); }
private Employee GetEmployeeById(int empId) { Employee retrievedEmployee = null; EmployeeQueryHandlerWebServer employeeQueryHandlerWebServer = new EmployeeQueryHandlerWebServer(_connectionAgent); EmplyeeViewModelQuery emplyeeViewModelQuery = new EmplyeeViewModelQuery(employeeQueryHandlerWebServer, EmplyeeViewModelQuery.SearchFilter.ByEmployeeId); Task workItemsLoadingTask = Task.Run(() => emplyeeViewModelQuery.GetEmployeesAsync(empId.ToString())); workItemsLoadingTask.Wait(); if (emplyeeViewModelQuery.RetrievedEmployees.Count == 1) { retrievedEmployee = emplyeeViewModelQuery.RetrievedEmployees[0]; } return(retrievedEmployee); }
private void ButtonFind_Click(object sender, RoutedEventArgs e) { string empId = TextBoxEmployeeId.Text.Trim(); try { int.TryParse(empId, out int employeeId); if (employeeId == 0) { MessageBox.Show("Please enter valid Employee Id.", Title, MessageBoxButton.OK, MessageBoxImage.Information); } else { Task employeesLoadingTask = Task.Run(() => _employeeViewModelQuery.GetEmployeesAsync(empId)); Mouse.OverrideCursor = Cursors.Wait; //wait till the retrieval process completes employeesLoadingTask.Wait(); Mouse.OverrideCursor = null; if (_employeeViewModelQuery.RetrievedEmployees.Count > 1) { MessageBox.Show("More than one employee exist for the given filter.", Title, MessageBoxButton.OK, MessageBoxImage.Information); } else if (_employeeViewModelQuery.RetrievedEmployees.Count == 0) { MessageBox.Show("No employee is found for the given Id.", Title, MessageBoxButton.OK, MessageBoxImage.Information); } else { _employeeViewModelUpdate.EmployeeId = _employeeViewModelQuery.RetrievedEmployees[0].Id; _employeeViewModelUpdate.EmployeeName = _employeeViewModelQuery.RetrievedEmployees[0].Name; _employeeViewModelUpdate.EmployeeEmail = _employeeViewModelQuery.RetrievedEmployees[0].Email; _employeeViewModelUpdate.EmployeeGender = _employeeViewModelQuery.RetrievedEmployees[0].Gender; } } } catch (Exception ec) { MessageBox.Show("Error while updating the employee details." + Environment.NewLine + $"Error: {ec.Message}", Title, MessageBoxButton.OK, MessageBoxImage.Error); } }
private void RetrieveAndShowEmployees(string filterToApply = "") { bool showEmployees = true; string txtToDisplayInLabel = "Retrieving the selected employees' information ..."; try { if (DataGridEmployees.HasItems && _searchFilter == SearchFilter.NoFilter) { MessageBoxResult messageBoxResult = MessageBox.Show ("Loading employees takes a while." + Environment.NewLine + "Do you still want to clear the currently loaded data and preceed with the search?" , Title, MessageBoxButton.YesNo); showEmployees = (messageBoxResult == MessageBoxResult.Yes); } if (showEmployees) { LabelPageInfo.Content = txtToDisplayInLabel; Task employeesLoadingTask; if (_searchFilter == SearchFilter.ByPageNumber) { txtToDisplayInLabel = $"Retrieving the employees' information in page {_pageNoToRetrieve} of {_employeeViewModelQuery.TotalNoOfPages} ..."; employeesLoadingTask = Task.Run(() => _employeeViewModelQuery.GetEmployeesAsync(_pageNoToRetrieve.ToString())); } else { employeesLoadingTask = Task.Run(() => _employeeViewModelQuery.GetEmployeesAsync(filterToApply)); } ButtonGoBack.IsEnabled = false; Mouse.OverrideCursor = Cursors.Wait; //wait till the retrieval process completes employeesLoadingTask.Wait(); ButtonGoBack.IsEnabled = true; Mouse.OverrideCursor = null; DataGridEmployees.ItemsSource = _employeeViewModelQuery.RetrievedEmployees; if (DataGridEmployees.HasItems) { DataGridEmployees.Columns.LastOrDefault().Width = new DataGridLength(1, DataGridLengthUnitType.Star); if (_searchFilter == SearchFilter.ByPageNumber) { ButtonNextPage.IsEnabled = _employeeViewModelQuery.TotalNoOfPages > _pageNoToRetrieve; ButtonPreviousPage.IsEnabled = _pageNoToRetrieve > 1; LabelPageInfo.Content = $"Employees in page {_pageNoToRetrieve} of {_employeeViewModelQuery.TotalNoOfPages}"; } else { LabelPageInfo.Content = $"{ _employeeViewModelQuery.RetrievedEmployees.Count} employee(s) is/are found."; } } else { LabelPageInfo.Content = "No employee(s) is/are found for the given search critera."; } //Save the employee records (or serialize) into the XML //_outputFileName = Path.Combine(GeneralUtils.OutPath, $"QueryEmployeeInfo.xml"); ExportToExcel(); } } catch (Exception ec) { MessageBox.Show("Error while querying the employee details." + Environment.NewLine + $"Error: {ec.Message}", Title, MessageBoxButton.OK, MessageBoxImage.Error); } }