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);
        }
        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);
        }
Пример #3
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);
        }
Пример #4
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));
        }