public static List <OnlineStore.Models.Public.ViewProducer> SimpleSearch(string key, List <int> groupIDs, Size?imageSize = null) { using (var db = OnlineStoreDbContext.Entity) { var query = from item in db.Producers where item.ID != 8 && item.IsVisible && (item.Title.Contains(key) || item.TitleEn.Contains(key)) orderby item.OrderID select new OnlineStore.Models.Public.ViewProducer { ID = item.ID, Title = item.Title, TitleEn = item.TitleEn, Filename = item.Filename }; if (groupIDs.Count > 0) { query = query.Where(item => db.ProducerGroups.Any( group => groupIDs.Contains(group.GroupID) && group.ProducerID == item.ID )); } var list = query.Take(20).ToList(); foreach (var item in list) { item.Filename = UrlProvider.GetProducerImage(item.Filename, !imageSize.HasValue ? StaticValues.SearchImageSize : imageSize.Value); } return(list); } }