Esempio n. 1
0
        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);
        }