public EmployerSearchViewModel SearchEdrsEmployers(EmployerSearchViewModel searchViewModel) { var pageSize = _configurationService.Get <RecruitWebConfiguration>().PageSize; var resultsPage = _employerService.GetEmployers(searchViewModel.EdsUrn, searchViewModel.Name, searchViewModel.Location, searchViewModel.Employers.CurrentPage, pageSize); var resultsViewModelPage = resultsPage.ToViewModel(resultsPage.Page.Select(e => e.Convert()).ToList()); searchViewModel.Employers = resultsViewModelPage; return(searchViewModel); }
public ActionResult GetEmployerByName(string _searchText, int?_skip) { var _employerDetails = _iPaticipantServiceClient.getEmployersByName(_searchText, _skip.Value, GlobalConst.Records.LandingTake); EmployerSearchViewModel objEmployerList = new EmployerSearchViewModel(); objEmployerList.EmployerDetails = Mapper.Map <IEnumerable <Employer> >(_employerDetails.EmployerDetails); objEmployerList.TotalCount = _employerDetails.TotalCount; return(Json(objEmployerList, GlobalConst.ContentTypes.TextHtml)); }
public void ShoulReturnEmployersForNameAndLocationEmployerSearchViewModel(int unactivatedEmployerCount) { // Arrange. var searchViewModel = new EmployerSearchViewModel { FilterType = EmployerFilterType.NameAndLocation, ProviderSiteId = 42, Name = "a", Location = "b", Employers = new PageableViewModel <EmployerViewModel> { CurrentPage = 3 } }; var employers = new Fixture() .CreateMany <Employer>(PageSize) .ToArray(); var vacancyParties = BuildFakeVacancyParties(employers, unactivatedEmployerCount); var pageableVacancyParties = new Fixture() .Build <Pageable <VacancyOwnerRelationship> >() .With(each => each.Page, vacancyParties) .Create(); Expression <Func <EmployerSearchRequest, bool> > matchingSearchRequest = it => it.ProviderSiteId == searchViewModel.ProviderSiteId; MockProviderService.Setup(mock => mock .GetVacancyOwnerRelationships(It.Is(matchingSearchRequest), searchViewModel.Employers.CurrentPage, PageSize)) .Returns(pageableVacancyParties); Expression <Func <IEnumerable <int>, bool> > matchingEmployerIds = it => true; MockEmployerService.Setup(mock => mock .GetEmployers(It.Is(matchingEmployerIds), It.IsAny <bool>())) .Returns(employers); var provider = GetProviderProvider(); // Act. var viewModel = provider.GetVacancyOwnerRelationshipViewModels(searchViewModel); // Assert. viewModel.Should().NotBeNull(); viewModel.ProviderSiteId.Should().Be(searchViewModel.ProviderSiteId); viewModel.Employers.Should().NotBeNull(); viewModel.Employers.Page.Count().Should().Be(PageSize - unactivatedEmployerCount); viewModel.FilterType.Should().Be(EmployerFilterType.NameAndLocation); viewModel.Name.Should().NotBeEmpty(); viewModel.Location.Should().NotBeEmpty(); }
public ActionResult SearchExistingEmployer(EmployerSearchViewModel viewModel) { /* * var response = _vacancyPostingMediator.GetProviderEmployers(viewModel); * * ModelState.Clear(); * * if (response.Message != null) * { * SetUserMessage(response.Message.Text, response.Message.Level); * } * * switch (response.Code) * { * case VacancyPostingMediatorCodes.GetProviderEmployers.FailedValidation: * response.ValidationResult.AddToModelState(ModelState, string.Empty); * return View("SelectEmployer", response.ViewModel); * * case VacancyPostingMediatorCodes.GetProviderEmployers.Ok: * case VacancyPostingMediatorCodes.GetProviderEmployers.NoResults: * return View("SelectEmployer", response.ViewModel); * * default: * throw new InvalidMediatorCodeException(response.Code); * } */ var model = new EmployerSearchViewModel() { ProviderSiteErn = "ERN1", FilterType = EmployerFilterType.Ern, Ern = "ERN2", Name = "Employer", Location = "Location", EmployerResults = new EmployerResultViewModel[] { new EmployerResultViewModel() { } }, EmployerResultsPage = new PageableViewModel <EmployerResultViewModel>() { } }; SetUserMessage("Test", Common.Constants.UserMessageLevel.Info); return(View("SelectEmployer", model)); }
public EmployerSearchViewModel SearchEmployers(EmployerSearchViewModel searchViewModel) { var searchParameters = new EmployerSearchParameters { Id = searchViewModel.Id, EdsUrn = searchViewModel.EdsUrn, Name = searchViewModel.Name, Location = searchViewModel.Location }; var results = _employerService.SearchEmployers(searchParameters); var employers = results.Select(e => e.Convert()).ToList(); searchViewModel.Employers.Page = employers; searchViewModel.Employers.ResultsCount = employers.Count; return(searchViewModel); }
public ActionResult getEmployerByEmployerNameSearch(string EmployerName, int skip) { try { var getAllViewModel = _employerBL.GetAllEmployerByEmployerName(EmployerName, skip, GlobalConst.Records.FileTake); EmployerSearchViewModel employerSearchViewModel = new EmployerSearchViewModel(); employerSearchViewModel.EmployerSearch = Mapper.Map <IEnumerable <EmployerSearch> >(getAllViewModel.EmployerDetails); employerSearchViewModel.EmployerCount = getAllViewModel.TotalCount; return(Json(employerSearchViewModel, GlobalConst.ContentTypes.TextHtml)); } catch (Exception ex) { _arCommonService.CreateErrorLog(ex.Message, ex.StackTrace); return(View()); } }
public MediatorResponse <EmployerSearchViewModel> SearchEmployers(EmployerSearchViewModel searchViewModel) { var viewModel = searchViewModel; if (searchViewModel.PerformSearch) { var validatonResult = _employerSearchViewModelServerValidator.Validate(searchViewModel); if (!validatonResult.IsValid) { return(GetMediatorResponse(AdminMediatorCodes.SearchEmployers.FailedValidation, viewModel, validatonResult)); } viewModel = _employerProvider.SearchEmployers(searchViewModel); } return(GetMediatorResponse(AdminMediatorCodes.SearchEmployers.Ok, viewModel)); }
public ActionResult Employers(EmployerSearchViewModel viewModel) { var response = _adminMediator.SearchEmployers(viewModel); ModelState.Clear(); switch (response.Code) { case AdminMediatorCodes.SearchEmployers.FailedValidation: response.ValidationResult.AddToModelState(ModelState, "SearchViewModel"); return(View(response.ViewModel)); case AdminMediatorCodes.SearchEmployers.Ok: return(View(response.ViewModel)); default: throw new InvalidMediatorCodeException(response.Code); } }
public EmployerSearchViewModel GetVacancyOwnerRelationshipViewModels(EmployerSearchViewModel viewModel) { EmployerSearchRequest parameters; switch (viewModel.FilterType) { case EmployerFilterType.EdsUrn: parameters = new EmployerSearchRequest(viewModel.ProviderSiteId, viewModel.EdsUrn); break; case EmployerFilterType.NameAndLocation: case EmployerFilterType.NameOrLocation: parameters = new EmployerSearchRequest(viewModel.ProviderSiteId, viewModel.Name, viewModel.Location); break; case EmployerFilterType.Undefined: parameters = new EmployerSearchRequest(viewModel.ProviderSiteId); break; default: throw new ArgumentOutOfRangeException(nameof(viewModel), viewModel.FilterType, string.Empty); } var pageSize = _configurationService.Get <RecruitWebConfiguration>().PageSize; var vacancyParties = _providerService.GetVacancyOwnerRelationships(parameters, viewModel.Employers.CurrentPage, pageSize); var employerIds = vacancyParties.Page .Select(vp => vp.EmployerId) .Distinct(); var employers = _employerService.GetEmployers(employerIds); var resultsPage = vacancyParties.ToViewModel(vacancyParties.Page // Exclude employers from search results that are NOT returned from Employer Service, status may be 'Suspended' etc. .Where(vacancyOwnerRelationship => employers .Any(employer => employer.EmployerId == vacancyOwnerRelationship.EmployerId)) .Select(vacancyOwnerRelationship => vacancyOwnerRelationship.Convert(employers.Single(employer => employer.EmployerId == vacancyOwnerRelationship.EmployerId)) .Employer)); viewModel.Employers = resultsPage; return(viewModel); }
public ActionResult SearchEmployers(EmployerSearchViewModel viewModel) { viewModel.PerformSearch = true; return(RedirectToRoute(ManagementRouteNames.AdminEmployers, viewModel.RouteValues)); }