public List <SubstancePreview> GetByQuery(QueryModel query) { var elements = _elements.GetAll().ToList(); var qToDb = _substances.GetAll(); var name = ""; qToDb = BuildQuery(qToDb, query, out name); var list = qToDb.Take(100).ToList(); var result = list.Select(x => new SubstancePreview { Name = x.Names.FirstOrDefault(n => n.Value.ToLower().Contains(name)).Value, Formula = x.Formula, Categories = GetCategoryList(x.Categories).OrderBy(c => c.Id).Select(c => c.Name).Distinct().ToArray(), Synonyms = x.Names.Select(n => n.Value).Take(12).ToArray(), Scheme = x.Scheme.Select(s => s.Value.HtmlDecode()).FirstOrDefault(), Id = x.Id }).ToList(); return(result); }