public SearchBarQueryResults Handle(SearchBarQuery searchBarQuery) { var citytDataModel = _cityRepository.SearchByCityName(searchBarQuery.Search); var venueByCityDataModel = _venueRepository.GetByCityIds(citytDataModel.Select(s => s.Id).ToList()); var venueDataModel = _venueRepository.GetByVenueName(searchBarQuery.Search); var venueIds = venueByCityDataModel.Select(s => s.Id).ToList(); venueIds.AddRange(venueDataModel.Select(s => s.Id)); var eventDetails = _eventDetailRepository.GetByVenueds(venueIds.Distinct()); var eventDataModel = _eventRepository.GetByNameAndEventId(searchBarQuery.Search, eventDetails.Select(s => s.EventId).Distinct()); var searchedEventDetails = eventDataModel.Where(ed => ed.IsFeel == false); var eventModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.Event> >(searchedEventDetails); return(new SearchBarQueryResults { Events = eventModel }); }