Example #1
0
        private static void Main()
        {
            var warehouse = new Warehouse();

            var toyota = new Provider();

            toyota.AddProductToList(new Product {
                Price = 200, Name = "Mx5", Category = GoodsCategory.AutomotiveAndTransport, Provider = toyota
            });
            toyota.AddProductToList(new Product {
                Price = 150, Name = "Mx6", Category = GoodsCategory.AutomotiveAndTransport, Provider = toyota
            });
            toyota.AddProductToList(new Product {
                Price = 270, Name = "Mx7", Category = GoodsCategory.AutomotiveAndTransport, Provider = toyota
            });

            var cocaCola = new Provider();

            cocaCola.AddProductToList(new Product {
                Price = 3, Name = "1L", Category = GoodsCategory.FoodAndBeverage, Provider = cocaCola
            });
            cocaCola.AddProductToList(new Product {
                Price = 2, Name = "0.5L", Category = GoodsCategory.FoodAndBeverage, Provider = cocaCola
            });
            cocaCola.AddProductToList(new Product {
                Price = 4, Name = "1.5L", Category = GoodsCategory.FoodAndBeverage, Provider = cocaCola
            });


            toyota.SendGoodsToWarehouse(warehouse, toyota.GoodsList[0], 2);
            toyota.SendGoodsToWarehouse(warehouse, toyota.GoodsList[1], 20);
            toyota.SendGoodsToWarehouse(warehouse, toyota.GoodsList[2], 7);

            cocaCola.SendGoodsToWarehouse(warehouse, cocaCola.GoodsList[0], 200);
            cocaCola.SendGoodsToWarehouse(warehouse, cocaCola.GoodsList[1], 20);
            cocaCola.SendGoodsToWarehouse(warehouse, cocaCola.GoodsList[2], 700);

            var buyer = new Buyer {
                Name = "Vasya"
            };

            buyer.AddMoney(1000);
            buyer.CreateShopCart(warehouse);

            buyer.AddGoodsToCart(warehouse.GetShopList()[0], 2);
            buyer.AddGoodsToCart(warehouse.GetShopList()[1], 2);

            buyer.BuyGoods();
            Console.WriteLine(buyer.GetMoney());
            // var unused = warehouse.GetProductsByCategory(GoodsCategory.FoodAndBeverage);
        }