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); // Ого, заряжает! }
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")); }