示例#1
0
        public override void Run()
        {
            string phone = "Мобила";

            var        charger   = new Charger();
            IPowerbank powerbank = new Powerbank();

            //charger.ChargePhone(phone, powerbank); // Мы не можем зарядить телефон через powerbank (слишком медленно). Давайте трансформируем его

            IFastCharge charge = new PowerbankAdapter(powerbank); // Трансформируем powerbank через адаптер

            charger.ChargePhone(phone, charge);                   // Ого, заряжает!
        }
示例#2
0
        public ActionResult AddToOder(int id)
        {
            IEnumerable <Powerbank> powerbanks = ApplicationDbContext.Powerbanks;
            Powerbank powerbank = powerbanks.Single(el => el.Id == id);

            ViewBag.Powerbanks = powerbanks;

            Purchase purchase = new Purchase();

            purchase.Powerbank = powerbank;
            var sc = ShopCart.Find(p => p.Powerbank.Id == powerbank.Id);

            if (ShopCart.Count == 0 || sc == null)
            {
                purchase.Quantity = 1;
                purchase.Amount   = powerbank.Price;
                ShopCart.Add(purchase);
            }
            else
            {
                sc.Quantity++;
                sc.Amount += powerbank.Price;
            }

            if (ShopCart.Count != 0)
            {
                foreach (var item in ShopCart)
                {
                    totalQuantity += item.Quantity;
                }
            }
            else
            {
                totalQuantity = 0;
            }
            ViewBag.TotalQuantity = totalQuantity;

            return(View("/Views/Home/Index.cshtml"));
        }