//Search results for events in selected date range in secondary event creation route public async Task <IActionResult> VenueSearchResults([Bind("StartDate,EndDate,TypeId,Type")] VenueSearchVM searchCriteria) { IEnumerable <EventTypeDto> eventTypes = await GetEventTypes(); if (searchCriteria.TypeList == null) { searchCriteria.TypeList = new SelectList(eventTypes, "Id", "Title"); } if (searchCriteria.Type == null || searchCriteria.TypeList == null) { searchCriteria.Type = eventTypes.First(e => e.Id == searchCriteria.TypeId).Title; } if (searchCriteria.TypeId == null) { searchCriteria.Message = "Please select an event type"; return(View("SearchVenues", searchCriteria)); } List <AvailabilitiesVM> availabilities = GetAvailability(searchCriteria.TypeId, searchCriteria.StartDate, searchCriteria.EndDate).Result.ToList(); if (availabilities.Count == 0) { searchCriteria.Message = "No venues available on this date"; return(View("SearchVenues", searchCriteria)); } EventVM eventVM = new EventVM(); eventVM.TypeId = searchCriteria.TypeId; EventVenueAvailabilityVM venueSelector = new EventVenueAvailabilityVM(eventVM, availabilities); return(View("SelectVenue", venueSelector)); }
//Secondary event creation process initiator, allowing users so search venues //using date range before creating event public async Task <IActionResult> SearchVenues(VenueSearchVM searchCriteria) { IEnumerable <EventTypeDto> eventTypes = await GetEventTypes(); searchCriteria.TypeList = new SelectList(eventTypes, "Id", "Title"); return(View(searchCriteria)); }