public virtual void ProcessRequest(Purchase purchase, ILogBook logBook) { if (CanApprove(purchase.Amount)) { logBook.WriteLine(ApprovalMsg(purchase.Number, purchase.Purpose)); } else { Successor?.ProcessRequest(purchase, logBook); } }
public void Approve(Purchase p, ILogBook logBook) { manager.ProcessRequest(p, logBook); }