//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));
        }