private async Task <VenueSearchResultsViewModel> GetVenues(VenueSearchResultItemModel deletedVenue)
        {
            var UKPRN = Session.GetInt32("UKPRN");

            if (!UKPRN.HasValue)
            {
                return(null);
            }
            VenueSearchRequestModel requestModel = new VenueSearchRequestModel
            {
                SearchTerm = UKPRN.ToString()
            };

            VenueSearchResultModel model;
            var criteria = _venueSearchHelper.GetVenueSearchCriteria(requestModel);
            var result   = await _venueService.SearchAsync(criteria);

            if (result.IsSuccess)
            {
                var items = _venueSearchHelper.GetVenueSearchResultItemModels(result.Value.Value);
                model = new VenueSearchResultModel(
                    items, deletedVenue);
            }
            else
            {
                model = new VenueSearchResultModel(result.Error);
            }

            var viewModel = new VenueSearchResultsViewModel
            {
                Result = model
            };

            return(viewModel);
        }
        public async Task <IActionResult> Index()
        {
            int UKPRN = 0;

            if (Session.GetInt32("UKPRN").HasValue)
            {
                UKPRN = Session.GetInt32("UKPRN").Value;
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." }));
            }

            var venues = await _cosmosDbQueryDispatcher.ExecuteQuery(new GetVenuesByProvider()
            {
                ProviderUkprn = UKPRN
            });

            var items = venues.Select(v => new VenueSearchResultItemModel(
                                          v.VenueName,
                                          v.AddressLine1,
                                          v.AddressLine2,
                                          v.Town,
                                          v.County,
                                          v.Postcode,
                                          v.Id.ToString()));

            var model = new VenueSearchResultModel(
                searchTerm: UKPRN.ToString(),
                items,
                newItem: null,
                updated: false);

            return(ViewComponent(nameof(ViewComponents.VenueSearchResult.VenueSearchResult), model));
        }
        private async Task <VenueSearchResultsViewModel> GetVenues(int ukprn, VenueSearchResultItemModel newVenue, bool updated)
        {
            VenueSearchRequestModel requestModel = new VenueSearchRequestModel
            {
                SearchTerm = ukprn.ToString()
            };

            if (null != newVenue)
            {
                requestModel.NewAddressId = newVenue.Id;
            }


            VenueSearchResultModel model;
            var criteria = _venueSearchHelper.GetVenueSearchCriteria(requestModel);
            var result   = await _venueService.SearchAsync(criteria);

            if (result.IsSuccess)
            {
                var items = _venueSearchHelper.GetVenueSearchResultItemModels(result.Value.Value);
                model = new VenueSearchResultModel(
                    requestModel.SearchTerm,
                    items, newVenue, updated);
            }
            else
            {
                model = new VenueSearchResultModel(result.Error);
            }

            // The v2 EditVenue journey sets a TempData entry after venue has been updated
            if (TempData.ContainsKey(TempDataKeys.UpdatedVenueId))
            {
                model = new VenueSearchResultModel(
                    model.SearchTerm,
                    model.Items,
                    newItem: model.Items.Single(v => v.Id == TempData[TempDataKeys.UpdatedVenueId].ToString()),
                    updated: true);
            }

            var viewModel = new VenueSearchResultsViewModel
            {
                Result = model
            };

            return(viewModel);
        }
        public async Task <IActionResult> Index()
        {
            int UKPRN = 0;

            if (Session.GetInt32("UKPRN").HasValue)
            {
                UKPRN = Session.GetInt32("UKPRN").Value;
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." }));
            }

            VenueSearchRequestModel requestModel = new VenueSearchRequestModel
            {
                SearchTerm = UKPRN.ToString()
            };
            VenueSearchResultModel model;

            if (requestModel == null)
            {
                model = new VenueSearchResultModel();
            }
            else
            {
                var criteria = _venueSearchHelper.GetVenueSearchCriteria(requestModel);

                var result = await _venueService.SearchAsync(criteria);

                if (result.IsSuccess)
                {
                    var items = _venueSearchHelper.GetVenueSearchResultItemModels(result.Value.Value);
                    model = new VenueSearchResultModel(
                        requestModel.SearchTerm,
                        items, null, false);
                }
                else
                {
                    model = new VenueSearchResultModel(result.Error);
                }
            }

            return(ViewComponent(nameof(ViewComponents.VenueSearchResult.VenueSearchResult), model));
        }
        public async Task <IActionResult> Index([FromQuery] VenueSearchRequestModel requestModel)
        {
            _session.SetInt32("UKPRN", Convert.ToInt32(requestModel.SearchTerm));


            VenueSearchResultModel model;

            _logger.LogMethodEnter();
            _logger.LogInformationObject("Model", requestModel);

            if (requestModel == null)
            {
                model = new VenueSearchResultModel();
            }
            else
            {
                var criteria = _venueSearchHelper.GetVenueSearchCriteria(
                    requestModel);

                var result = await _venueService.SearchAsync(criteria);

                if (result.IsSuccess && result.HasValue)
                {
                    var items = _venueSearchHelper.GetVenueSearchResultItemModels(result.Value.Value);
                    model = new VenueSearchResultModel(
                        requestModel.SearchTerm,
                        items, null, false);
                }
                else
                {
                    model = new VenueSearchResultModel(result.Error);
                }
            }

            _logger.LogMethodExit();
            return(ViewComponent(nameof(ViewComponents.VenueSearchResult.VenueSearchResult), model));
        }
Esempio n. 6
0
        private async Task <VenueSearchResultsViewModel> GetVenues(int ukprn, VenueSearchResultItemModel newVenue, bool updated)
        {
            VenueSearchRequestModel requestModel = new VenueSearchRequestModel
            {
                SearchTerm = ukprn.ToString()
            };

            if (null != newVenue)
            {
                requestModel.NewAddressId = newVenue.Id;
            }


            VenueSearchResultModel model;
            var criteria = _venueSearchHelper.GetVenueSearchCriteria(requestModel);
            var result   = await _venueService.SearchAsync(criteria);

            if (result.IsSuccess)
            {
                var items = _venueSearchHelper.GetVenueSearchResultItemModels(result.Value.Value);
                model = new VenueSearchResultModel(
                    requestModel.SearchTerm,
                    items, newVenue, updated);
            }
            else
            {
                model = new VenueSearchResultModel(result.Error);
            }

            var viewModel = new VenueSearchResultsViewModel
            {
                Result = model
            };

            return(viewModel);
        }
Esempio n. 7
0
        public async Task <IActionResult> AddVenueSelectionConfirmation(AddVenueSelectionConfirmationRequestModel requestModel)
        {
            var UKPRN = _session.GetInt32("UKPRN").Value;
            VenueSearchRequestModel mod = new VenueSearchRequestModel();

            mod.SearchTerm = UKPRN.ToString();

            if (requestModel.Id != null)
            {
                Venue venue = new Venue(
                    requestModel.Id,
                    UKPRN,
                    requestModel.VenueName,
                    requestModel.AddressLine1,
                    requestModel.AddressLine2,
                    null,
                    requestModel.TownOrCity,
                    requestModel.County,
                    requestModel.Postcode,
                    VenueStatus.Live,
                    "TestUser",
                    DateTime.Now
                    );

                var updatedVenue = await _venueService.UpdateAsync(venue);

                mod.NewAddressId = updatedVenue.Value.ID;
            }
            else
            {
                Venue venue = new Venue(
                    null,
                    UKPRN,
                    requestModel.VenueName,
                    requestModel.AddressLine1,
                    requestModel.AddressLine2,
                    null,
                    requestModel.TownOrCity,
                    requestModel.County,
                    requestModel.Postcode,
                    VenueStatus.Live,
                    "TestUser",
                    DateTime.Now,
                    DateTime.Now
                    );

                var addedVenue = await _venueService.AddAsync(venue);

                mod.NewAddressId = addedVenue.Value.ID;
            }

            VenueSearchResultModel resultModel;

            var criteria = _venueSearchHelper.GetVenueSearchCriteria(mod);
            var result   = await _venueService.SearchAsync(criteria);

            VenueSearchResultItemModel newItem = new VenueSearchResultItemModel(requestModel.VenueName, requestModel.AddressLine1, requestModel.AddressLine2, requestModel.TownOrCity, requestModel.County, requestModel.Postcode, mod.NewAddressId);

            if (result.IsSuccess && result.HasValue)
            {
                var items = _venueSearchHelper.GetVenueSearchResultItemModels(result.Value.Value);

                if (requestModel.Id != null)
                {
                    resultModel = new VenueSearchResultModel(
                        mod.SearchTerm,
                        items, newItem, true);
                }
                else
                {
                    resultModel = new VenueSearchResultModel(
                        mod.SearchTerm,
                        items, newItem, false);
                }
            }
            else
            {
                resultModel = new VenueSearchResultModel(result.Error);
            }

            var viewModel = new VenueSearchResultsViewModel
            {
                Result = resultModel
            };

            return(View("VenueSearchResults", viewModel));
        }