public void GetVacanciesSummaryForProviderShouldCallVacancySummaryService() { const int providerId = 1; const int providerSiteId = 2; const int employerId = 3; const VacancyType vacancyType = VacancyType.Apprenticeship; var search = new VacanciesSummarySearchViewModel { PageSize = 5, VacancyType = vacancyType }; var vacancySummaryService = new Mock <IVacancySummaryService>(); var mapper = new Mock <IMapper>(); mapper.Setup(m => m.Map <VacancySummary, VacancySummaryViewModel>(It.IsAny <VacancySummary>())) .Returns(new VacancySummaryViewModel { VacancyOwnerRelationshipId = employerId, VacancyId = 0 }); int tmp; vacancySummaryService.Setup(s => s.GetSummariesForProvider(It.IsAny <VacancySummaryQuery>(), out tmp)) .Returns( new List <VacancySummary>() { new VacancySummary() { VacancyType = VacancyType.Apprenticeship, Title = "Test", Address = new PostalAddress() { Town = "Test" } } }); vacancySummaryService.Setup(s => s.GetLotteryCounts(It.IsAny <VacancySummaryQuery>())).Returns( new VacancyCounts() { RejectedCount = 1 }); var provider = new VacancyProviderBuilder() .With(mapper) .With(vacancySummaryService) .BuildVacancyPostingProvider(); provider.GetVacanciesSummaryForProvider(providerId, providerSiteId, search); vacancySummaryService.Verify(s => s.GetSummariesForProvider(It.IsAny <VacancySummaryQuery>(), out tmp), Times.Once); }
public ActionResult Home(VacanciesSummarySearchViewModel vacanciesSummarySearch) { var response = _providerUserMediator.GetHomeViewModel(User.Identity.Name, User.GetUkprn(), vacanciesSummarySearch); ModelState.Clear(); if (response.Message != null) { SetUserMessage(response.Message.Text, response.Message.Level); } switch (response.Code) { case ProviderUserMediatorCodes.GetHomeViewModel.ProviderNotFound: case ProviderUserMediatorCodes.GetHomeViewModel.Error: return(View("HomeError", response.ViewModel)); case ProviderUserMediatorCodes.GetHomeViewModel.Ok: return(View(response.ViewModel)); default: throw new InvalidMediatorCodeException(response.Code); } }
public MediatorResponse <HomeViewModel> GetHomeViewModel(string username, string ukprn, VacanciesSummarySearchViewModel vacanciesSummarySearch) { var stopwatch = new Stopwatch(); stopwatch.Start(); var providerUserViewModel = _providerUserProvider.GetUserProfileViewModel(username) ?? new ProviderUserViewModel(); _logService.Info($"Retrieved provider user {stopwatch.ElapsedMilliseconds}ms elapsed"); var viewModel = new HomeViewModel { ProviderUserViewModel = providerUserViewModel, CandidateSearch = new CandidateSearchViewModel() }; try { var provider = _providerProvider.GetProviderViewModel(ukprn); _logService.Info($"Retrieved provider {stopwatch.ElapsedMilliseconds}ms elapsed"); var providerSites = GetProviderSites(ukprn); _logService.Info($"Retrieved provider sites {stopwatch.ElapsedMilliseconds}ms elapsed"); var providerSiteId = providerUserViewModel.DefaultProviderSiteId; if (providerSites.All(ps => ps.Value != Convert.ToString(providerUserViewModel.DefaultProviderSiteId))) { providerSiteId = Convert.ToInt32(providerSites.First().Value); } var vacanciesSummary = _vacancyProvider.GetVacanciesSummaryForProvider(provider.ProviderId, providerSiteId, vacanciesSummarySearch); _logService.Info($"Retrieved vacancy summaries {stopwatch.ElapsedMilliseconds}ms elapsed"); viewModel.ProviderViewModel = provider; viewModel.ProviderSites = providerSites; viewModel.VacanciesSummary = vacanciesSummary; return(GetMediatorResponse(ProviderUserMediatorCodes.GetHomeViewModel.Ok, viewModel)); } catch (CustomException ex) { if (ex.Code == ProviderServiceCodes.ProviderNotFound) { _logService.Info(ex.Message); return(GetMediatorResponse(ProviderUserMediatorCodes.GetHomeViewModel.ProviderNotFound, viewModel)); } _logService.Error(ex); return(GetMediatorResponse(ProviderUserMediatorCodes.GetHomeViewModel.Error, viewModel, string.Format(HomeViewModelMessages.ProviderNotFound, ukprn), UserMessageLevel.Warning)); } catch (Exception ex) { _logService.Error(ex); return(GetMediatorResponse(ProviderUserMediatorCodes.GetHomeViewModel.Error, viewModel, string.Format(HomeViewModelMessages.Error, ukprn), UserMessageLevel.Error)); } }
public DeleteVacancyViewModel(VacanciesSummarySearchViewModel vacanciesSummarySearch) : base(vacanciesSummarySearch) { }