private List <string> GetDistinctFields(NamesDistinctField name, string filter = null) { IQueryable <string> result = null; switch (name) { case NamesDistinctField.Group: result = ElementStores.Select(f => f.Group); break; case NamesDistinctField.Type: result = ElementStores.Select(f => f.Type); break; case NamesDistinctField.Module: result = ElementStores.Select(f => f.Module); break; default: result = (IQueryable <string>) new List <string>(); break; } List <string> resultList = result .Distinct() .Where(f => !string.IsNullOrEmpty(f)) .Where(f => filter == null ? true : f.Contains(filter)) .OrderBy(f => f) .Take(11) .ToList(); if (resultList.Count() > 10) { resultList[10] = "..."; } return(resultList); }
internal static List <string> Get(NamesDistinctField name, string filter) { return(GetElementsEvents?.Invoke(name, filter)); }