コード例 #1
0
 public Cart[] GetCarts()
 {
     return(Carts.Find(new BsonDocument()).ToList().ToArray());
 }
コード例 #2
0
        public async Task <bool> FillWithReferences()
        {
            var rand = new Random();

            var customers = Customers.Find(new BsonDocument()).ToList();
            var items     = Items.Find(new BsonDocument()).ToList();
            var sellers   = Sellers.Find(new BsonDocument()).ToList();

            var carts = new List <Cart>();

            for (int i = 0; i < 5; i++)
            {
                var itemRefs = GetRandomItems(items, rand);

                var customerRandom = new Customer();

                do
                {
                    customerRandom = customers[rand.Next(0, customers.Count)];
                } while (carts.Any(c => c.Customer.Id.Equals(customerRandom.Id)));

                carts.Add(new Cart {
                    Customer = new MongoDBRef("Customer", customerRandom.Id), Items = itemRefs
                });
            }

            await Carts.InsertManyAsync(carts);

            var orders = new List <Order>();

            for (int i = 0; i < 5; i++)
            {
                var itemRefs = GetRandomItems(items, rand);

                orders.Add(new Order {
                    Customer = new MongoDBRef("Customer", customers[rand.Next(0, customers.Count)].Id), Items = itemRefs, IsCompleted = i % 3 == 0, DateTimeStamp = RandomDay(rand)
                });
            }

            await Orders.InsertManyAsync(orders);

            carts = Carts.Find(new BsonDocument()).ToList();
            foreach (var customer in customers)
            {
                var cartRandom = carts.Where(c => c.Customer.Id.Equals(customer.Id)).SingleOrDefault();
                if (cartRandom == null)
                {
                    continue;
                }

                customer.Cart = new MongoDBRef("Cart", cartRandom.Id);

                var filter = Builders <Customer> .Filter.Eq(x => x.Id, customer.Id);

                await Customers.ReplaceOneAsync(filter, customer, new ReplaceOptions()
                {
                    IsUpsert = false
                });
            }

            sellers[0].Items = items.Where((item, index) => index == 0 || index == 1).Select(item => new MongoDBRef("Item", item.Id)).ToArray();
            UpdateSeller(sellers[0]);
            items[0].Seller = new MongoDBRef("Seller", sellers[0].Id);
            UpdateItem(items[0]);
            items[1].Seller = new MongoDBRef("Seller", sellers[0].Id);
            UpdateItem(items[1]);
            sellers[1].Items = items.Where((item, index) => index == 2 || index == 3).Select(item => new MongoDBRef("Item", item.Id)).ToArray();
            UpdateSeller(sellers[1]);
            items[2].Seller = new MongoDBRef("Seller", sellers[1].Id);
            UpdateItem(items[2]);
            items[3].Seller = new MongoDBRef("Seller", sellers[1].Id);
            UpdateItem(items[3]);
            sellers[2].Items = items.Where((item, index) => index == 4 || index == 5).Select(item => new MongoDBRef("Item", item.Id)).ToArray();
            UpdateSeller(sellers[2]);
            items[4].Seller = new MongoDBRef("Seller", sellers[2].Id);
            UpdateItem(items[4]);
            items[5].Seller = new MongoDBRef("Seller", sellers[2].Id);
            UpdateItem(items[5]);
            sellers[3].Items = items.Where((item, index) => index == 6).Select(item => new MongoDBRef("Item", item.Id)).ToArray();
            UpdateSeller(sellers[3]);
            items[6].Seller = new MongoDBRef("Seller", sellers[3].Id);
            UpdateItem(items[6]);
            sellers[4].Items = items.Where((item, index) => index == 7).Select(item => new MongoDBRef("Item", item.Id)).ToArray();
            UpdateSeller(sellers[4]);
            items[7].Seller = new MongoDBRef("Seller", sellers[4].Id);
            UpdateItem(items[7]);

            return(true);
        }
コード例 #3
0
        public Cart GetCart(string id)
        {
            var filter_id = GetFilterById <Cart>(ObjectId.Parse(id));

            return(Carts.Find(filter_id).FirstOrDefault());
        }
コード例 #4
0
        public Cart GetCart(BsonValue id)
        {
            var filter_id = GetFilterById <Cart>(id.AsObjectId);

            return(Carts.Find(filter_id).FirstOrDefault());
        }
コード例 #5
0
ファイル: DBService.cs プロジェクト: ayudov/MongoDB_Shop
        public Cart GetCart(BsonValue id)
        {
            var filter_id = Builders <Cart> .Filter.Eq("_id", id);

            return(Carts.Find(filter_id).FirstOrDefault());
        }