public Cart[] GetCarts() { return(Carts.Find(new BsonDocument()).ToList().ToArray()); }
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); }
public Cart GetCart(string id) { var filter_id = GetFilterById <Cart>(ObjectId.Parse(id)); return(Carts.Find(filter_id).FirstOrDefault()); }
public Cart GetCart(BsonValue id) { var filter_id = GetFilterById <Cart>(id.AsObjectId); return(Carts.Find(filter_id).FirstOrDefault()); }
public Cart GetCart(BsonValue id) { var filter_id = Builders <Cart> .Filter.Eq("_id", id); return(Carts.Find(filter_id).FirstOrDefault()); }