コード例 #1
0
        public IEnumerable<Product> GetProductsNotInGroceries(IGroceryRepository repo)
        {
            List<Product> selectedProducts;

            if (!repo.GetGroceries().Any()) {
                selectedProducts = repo.GetProducts().ToList();
            } else {

                var groceries = repo.GetGroceries().Select(p => p.ProductId).ToArray();
                var products = repo.GetProducts().Select(p => p.Id).ToArray();
                var unselected = products.Except(groceries);

                selectedProducts = repo.GetProducts().Where(p => unselected.Contains(p.Id)).ToList();
            }

            return selectedProducts;
        }