private void UpdateLocationCookie(LocationCookieItem location) { if (!string.IsNullOrEmpty(location.Name) && location.Lat != 0 && location.Lon != 0) { _locationCookieStorageService.Update(Constants.LocationCookieName, location, 2); } }
public async Task <IActionResult> Index(IndexRequest request) { IndexRequest savedRequest = null; if (request.FromSearch) { savedRequest = _cookieStorage.Get(CookieNames.ManageApprentices); if (savedRequest != null) { request = savedRequest; } } if (savedRequest == null) { _cookieStorage.Update(CookieNames.ManageApprentices, request); } var viewModel = await _modelMapper.Map <IndexViewModel>(request); viewModel.SortedByHeader(); return(View(viewModel)); }
private void updateExistingCookieWithNewData(EmployerAccountData existingCookie, EmployerAccountOrganisationData organisationData) { existingCookie.EmployerAccountOrganisationData = organisationData; _cookieRepository .Update( CookieName, existingCookie); }
private void updateExistingCookieWithNewData(EmployerAccountData existingCookie, EmployerAccountPayeRefData payeRefData) { existingCookie.EmployerAccountPayeRefData = payeRefData; _cookieRepository .Update( CookieName, existingCookie); }
public async Task <IActionResult> CreateShortlistItem(CreateShortlistItemRequest request) { var cookie = _shortlistCookieService.Get(Constants.ShortlistCookieName); if (cookie == null) { cookie = new ShortlistCookieItem { ShortlistUserId = Guid.NewGuid() }; } _shortlistCookieService.Update(Constants.ShortlistCookieName, cookie, 30); var location = _locationCookieService.Get(Constants.LocationCookieName); var result = await _mediator.Send(new CreateShortlistItemForUserCommand { Lat = location?.Lat, Lon = location?.Lon, Ukprn = request.Ukprn, LocationDescription = string.IsNullOrEmpty(location?.Name) ? null : location.Name, TrainingCode = request.TrainingCode, ShortlistUserId = cookie.ShortlistUserId }); if (!string.IsNullOrEmpty(request.RouteName)) { return(RedirectToRoute(request.RouteName, new { Id = request.TrainingCode, ProviderId = request.Ukprn, Added = string.IsNullOrEmpty(request.ProviderName) ? "" : WebEncoders.Base64UrlEncode(_protector.Protect( System.Text.Encoding.UTF8.GetBytes($"{request.ProviderName}"))) })); } return(Accepted(result)); }
public async Task <IActionResult> CourseProviders(GetCourseProvidersRequest request) { try { var location = CheckLocation(request.Location); var shortlistItem = _shortlistCookieService.Get(Constants.ShortlistCookieName); var result = await _mediator.Send(new GetCourseProvidersQuery { CourseId = request.Id, Location = location?.Name ?? "", Lat = location?.Lat ?? 0, Lon = location?.Lon ?? 0, DeliveryModes = request.DeliveryModes.Select(type => (Domain.Courses.DeliveryModeType)type), ProviderRatings = request.ProviderRatings.Select(rating => (Domain.Courses.ProviderRating)rating), ShortlistUserId = shortlistItem?.ShortlistUserId }); var cookieResult = new LocationCookieItem { Name = result.Location, Lat = result.LocationGeoPoint?.FirstOrDefault() ?? 0, Lon = result.LocationGeoPoint?.LastOrDefault() ?? 0 }; UpdateLocationCookie(cookieResult); if (result.Course == null) { return(RedirectToRoute(RouteNames.Error404)); } var providerList = result.Providers.ToList(); var providers = result.Providers .ToDictionary(provider => provider.ProviderId, provider => WebEncoders.Base64UrlEncode(_providerDataProtector.Protect( System.Text.Encoding.UTF8.GetBytes($"{providerList.IndexOf(provider) + 1}|{result.TotalFiltered}")))); _courseProvidersCookieStorageService.Update(Constants.ProvidersCookieName, request, 2); var courseProvidersViewModel = new CourseProvidersViewModel(request, result, providers); if (courseProvidersViewModel.Course.AfterLastStartDate) { return(RedirectToRoute(RouteNames.CourseDetails, new { request.Id })); } var removedProviderFromShortlist = string.IsNullOrEmpty(request.Removed) ? "" : HttpUtility.HtmlDecode(GetEncodedProviderName(request.Removed)); var addedProviderToShortlist = string.IsNullOrEmpty(request.Added) ? "" : HttpUtility.HtmlDecode(GetEncodedProviderName(request.Added)); courseProvidersViewModel.BannerUpdateMessage = GetProvidersBannerUpdateMessage(removedProviderFromShortlist, addedProviderToShortlist); courseProvidersViewModel.HelpFindingCourseUrl = BuildHelpFindingCourseUrl(courseProvidersViewModel.Course.Id, EntryPoint.Providers); return(View(courseProvidersViewModel)); } catch (Exception e) { _logger.LogError(e, e.Message); return(RedirectToRoute(RouteNames.Error500)); } }