public IEnumerable <Feed> GetFilteredFeeds(Graph graph) { List <String> Agefilter = new List <string>(); List <String> Personalityfilter = new List <string>(); List <String> Genderfilter = new List <string>(); if (graph.AgeFilter == AgeFilter.Both) { Agefilter.Add(""); Agefilter.Add("25+"); Agefilter.Add("25-"); } if (graph.AgeFilter == AgeFilter.min25) { Agefilter.Add("25-"); } if (graph.AgeFilter == AgeFilter.plus25) { Agefilter.Add("25+"); } if (graph.PersonalityFilter == PersonalityFilter.Both) { Personalityfilter.Add(""); Personalityfilter.Add("I"); Personalityfilter.Add("E"); } if (graph.PersonalityFilter == PersonalityFilter.I) { Personalityfilter.Add("I"); } if (graph.PersonalityFilter == PersonalityFilter.E) { Personalityfilter.Add("E"); } if (graph.GenderFilter == GenderFilter.Both) { Genderfilter.Add("f"); Genderfilter.Add("m"); Genderfilter.Add(""); } if (graph.GenderFilter == GenderFilter.Male) { Genderfilter.Add("m"); } if (graph.GenderFilter == GenderFilter.Female) { Genderfilter.Add("f"); } if (graph.PersonFilter == null) { graph.PersonFilter = ""; } ThemeManager tm = new ThemeManager(); List <string> Terms = new List <string>(); if (graph.ThemeFilter != null) { foreach (string theme in graph.ThemeFilter.Split(',').Select(w => w.Trim())) { foreach (string s in tm.GetThemeByName(theme).TermsList) { if (!Terms.Contains(s)) { Terms.Add(s); } } } } IEnumerable <Feed> filteredList = repo.ReadFilteredFeed(graph.StartDate, graph.EndDate, Agefilter, Personalityfilter, Genderfilter, graph.PersonFilter.Split(',').Select(s => s.Trim()).ToList(), graph.SentimentStart, graph.SentimentEnd, Terms); return(filteredList); }