protected virtual void InitializeFilters() { if (Filter == null) { Filter = ""; } if (!Filters.Contains(SearchFilter)) { Filters.Insert(0, SearchFilter); } }
public void FillResponse( List <GroupEntry> entries, FilterSet ids, GroupKey keys, bool singleKey) { if (singleKey) { if (ids == null) { switch (keys) { case GroupKey.City: entries.AddRange( _context.Cities .GetGroups() .Select(x => new GroupEntry(new Group(GroupKey.City, cityId: x.Key), x.Count))); return; case GroupKey.Country: entries.AddRange( _context.Countries .GetGroups() .Select(x => new GroupEntry(new Group(GroupKey.Country, countryId: x.Key), x.Count))); return; case GroupKey.Interest: entries.AddRange( _context.Interests .GetGroups() .Select(x => new GroupEntry(new Group(GroupKey.Interest, interestId: x.Key), x.Count))); return; case GroupKey.Sex: entries.AddRange( _context.Sex .GetGroups() .Select(x => new GroupEntry(new Group(GroupKey.Sex, sex: x.Key), x.Count))); return; case GroupKey.Status: entries.AddRange( _context.Statuses .GetGroups() .Select(x => new GroupEntry(new Group(GroupKey.Status, status: x.Key), x.Count))); return; default: return; } } else { switch (keys) { case GroupKey.City: foreach (var item in _context.Cities.GetGroups()) { int count = item.Ids.Count(x => ids.Contains(x)); if (count > 0) { entries.Add(new GroupEntry(new Group(GroupKey.City, cityId: item.Key), count)); } } return; case GroupKey.Country: foreach (var item in _context.Countries.GetGroups()) { int count = item.Ids.Count(x => ids.Contains(x)); if (count > 0) { entries.Add(new GroupEntry(new Group(GroupKey.Country, countryId: item.Key), count)); } } return; case GroupKey.Interest: foreach (var item in _context.Interests.GetGroups()) { int count = item.Ids.Count(x => ids.Contains(x)); if (count > 0) { entries.Add(new GroupEntry(new Group(GroupKey.Interest, interestId: item.Key), count)); } } return; case GroupKey.Sex: foreach (var item in _context.Sex.GetGroups()) { int count = item.Ids.Count(x => ids.Contains(x)); if (count > 0) { entries.Add(new GroupEntry(new Group(GroupKey.Sex, sex: item.Key), count)); } } return; case GroupKey.Status: foreach (var item in _context.Statuses.GetGroups()) { int count = item.Ids.Count(x => ids.Contains(x)); if (count > 0) { entries.Add(new GroupEntry(new Group(GroupKey.Status, status: item.Key), count)); } } return; default: return; } } } if (IndexRemoved) { return; } if (ids == null) { foreach (var group in _data[keys]) { int count = group.Ids.Count; if (count > 0) { entries.Add(new GroupEntry(group.Key, count)); } } } else { foreach (var group in _data[keys]) { int count = group.Ids.GetList().Count(x => ids.Contains(x)); if (count > 0) { entries.Add(new GroupEntry(group.Key, count)); } } } }