public async Task <IViewComponentResult> InvokeAsync(ChooseLocationModel model)
        {
            var providerId = _providerContextProvider.GetProviderId(withLegacyFallback: true);

            List <SelectListItem> venues = new List <SelectListItem>();

            var result = await _sqlQueryDispatcher.ExecuteQuery(new GetVenuesByProvider()
            {
                ProviderId = providerId
            });

            foreach (var venue in result)
            {
                if (model.DeliveryLocations == null || !model.DeliveryLocations.Any(x => x.VenueId == venue.VenueId))
                {
                    var item = new SelectListItem {
                        Text = venue.VenueName, Value = venue.VenueId.ToString()
                    };
                    venues.Add(item);
                }
            }
            ;

            model.Locations = venues;
            return(View("~/ViewComponents/Apprenticeships/ChooseLocation/Default.cshtml", model));
        }
        public async Task <IViewComponentResult> InvokeAsync(ChooseLocationModel model)
        {
            List <SelectListItem> venues = new List <SelectListItem>();

            var UKPRN = Session.GetInt32("UKPRN");

            if (UKPRN.HasValue)
            {
                var result = await _cosmosDbQueryDispatcher.ExecuteQuery(new GetVenuesByProvider()
                {
                    ProviderUkprn = UKPRN.Value
                });

                foreach (var venue in result)
                {
                    var item = new SelectListItem {
                        Text = venue.VenueName, Value = venue.Id.ToString()
                    };

                    if (model.DeliveryLocations == null || !model.DeliveryLocations.Any(x => x.LocationId.HasValue && x.LocationId.Value.ToString() == item.Value))
                    {
                        venues.Add(item);
                    }
                }
                ;
            }

            model.Locations = venues;
            return(View("~/ViewComponents/Apprenticeships/ChooseLocation/Default.cshtml", model));
        }
        public async Task <IViewComponentResult> InvokeAsync(ChooseLocationModel model)
        {
            List <SelectListItem> venues = new List <SelectListItem>();

            var UKPRN = Session.GetInt32("UKPRN");

            if (UKPRN.HasValue)
            {
                var requestModel = new VenueSearchRequestModel {
                    SearchTerm = Session.GetInt32("UKPRN").Value.ToString()
                };
                var criteria = _venueSearchHelper.GetVenueSearchCriteria(requestModel);
                var result   = await _venueService.SearchAsync(criteria);

                if (result.IsSuccess)
                {
                    //var defaultItem = new SelectListItem { Text = "Select", Value = "",Selected=true };

                    foreach (var venue in result.Value.Value.Where(x => x.Status == VenueStatus.Live))
                    {
                        var item = new SelectListItem {
                            Text = venue.VenueName, Value = venue.ID
                        };

                        if (model.DeliveryLocations == null || !model.DeliveryLocations.Any(x => x.LocationId.HasValue && x.LocationId.Value.ToString() == item.Value))
                        {
                            venues.Add(item);
                        }
                    }
                    ;
                }
            }

            model.Locations = venues;
            return(View("~/ViewComponents/Apprenticeships/ChooseLocation/Default.cshtml", model));
        }