public virtual bool RemoveCashier(AbstractCashier cashier) { if (cashier == null) { throw new ArgumentNullException(nameof(cashier)); } if (!_cashiers.Remove(cashier)) { return(false); } CashierRemoved(this, cashier); return(true); }
public virtual void AddCashier(AbstractCashier cashier) { if (cashier == null) { throw new ArgumentNullException(nameof(cashier)); } if (_cashiers.Contains(cashier)) { throw new ArgumentException("Cashier already contained in cashiers list.", nameof(cashier)); } _cashiers.Add(cashier); CashierAdded(this, cashier); }
public override bool OrderTo(TypePizza menu, ref decimal money, Action <Func <AbstractPizza> > CallBackPizza) { AbstractCashier cashier = null; foreach (var item in _worker) { if (item is AbstractCashier) { cashier = (AbstractCashier)item; } } if (cashier != null) { return(cashier.TakeOrder(menu, ref money, ref _money, CallBackPizza)); } return(false); }
private void OnCashierRemoved(object sender, AbstractCashier cashier) => cashier.OrderAccepted -= OnOrderAccepted;
private void OnCashierAdded(object sender, AbstractCashier cashier) => cashier.OrderAccepted += OnOrderAccepted;