public IEnumerable <EncounterDTO> GetAllEncountersWithFollowedTeams() { List <Encounter> encountersWithComment = new List <Encounter>(); IEnumerable <Encounter> allEncounters = encounterRepository.GetAll(); foreach (var encounter in allEncounters) { bool intersect = encounter.Teams.Select(t => t.Name.ToString()).Intersect(loginServices.LoggedUser.FollowedTeamsNames).Any(); bool hasComments = (encounter.Comments.Any()); if (intersect && hasComments) { encountersWithComment.Add(encounter); } } return(encountersWithComment.Select(e => encounterMapper.Map(e))); }