public EventVenueQueryResult Handle(EventVenueQuery query) { var eventid = _eventRepository.GetByAltId(query.EventAltId).Id; var userId = _userRepository.GetByAltId(query.AltId).Id; var uservenues = _boUserVenueRepository.GetByUserIdAndEventId(eventid, userId); var eventDetails = _eventDetailRepository.GetByEventIdAndVenueIds(eventid, uservenues.Select(s => s.VenueId)); var venues = _venueRepository.GetByVenueIds(eventDetails.Select(s => s.VenueId)).Distinct(); return(new EventVenueQueryResult { Venues = AutoMapper.Mapper.Map <List <Venue> >(venues) }); }