public async Task <TResponse> Handle( TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate <TResponse> next) { var courseId = _descriptor.GetCourseId(request); var providerId = await _providerOwnershipCache.GetProviderForCourse(courseId); if (providerId == null) { throw new ResourceDoesNotExistException(ResourceType.Course, courseId); } if (IsAuthorized(providerId)) { var providerInfo = await _providerInfoCache.GetProviderInfo(providerId.Value); _providerContextProvider.SetProviderContext(new ProviderContext(providerInfo)); return(await next()); } else { throw new NotAuthorizedException(); } }
public async Task <IActionResult> SearchProvider( int UKPRN, [FromServices] IProviderInfoCache providerInfoCache, [FromServices] IProviderContextProvider providerContextProvider) { var providerInfo = await providerInfoCache.GetProviderInfoForUkprn(UKPRN); providerContextProvider.SetProviderContext(new ProviderContext(providerInfo)); Session.SetInt32("UKPRN", UKPRN); return(RedirectToAction("Dashboard", "Provider")); }
public async Task <IActionResult> Confirmed( [FromServices] IProviderContextProvider providerContextProvider, [FromServices] IProviderInfoCache providerInfoCache, ConfirmedQuery request) { var vm = await _mediator.Send(request); var providerInfo = await providerInfoCache.GetProviderInfo(vm.ProviderId); providerContextProvider.SetProviderContext(new ProviderContext(providerInfo)); return(View(vm)); }