public override void Approve(Purchase purchase) { if (purchase.Cost < 5000) { Console.WriteLine($"President approved purchase #{purchase.Number} that cost {purchase.Cost:C}"); return; } Next?.Approve(purchase); }
public override ApprovalResult Approve(int refund) { var result = Approver.ApproveRefund(refund); if (result == ApprovalResult.BeyondLimit) { return(Next.Approve(refund)); } return(result); }
public override ApprovalResult Approve(int refund) { var result = Approver.ApproveRefund(refund); if (result == ApprovalResult.BeyondLimit) { //Do Managerial custom logic here if needed //eg. log approve activity in database return(Next.Approve(refund)); } return(result); }
public override ApprovalResult Approve(int refund) { var result = Approver.ApproveRefund(refund); if (result == ApprovalResult.BeyondLimit) { //Do Vice President custom logic here if needed //This is pretty much same as BasicApproval and ManagerApproval //I'm trying to show that you can do customization here return(Next.Approve(refund)); } return(result); }
public override bool Approve(decimal amount) { Console.WriteLine("Team Lead"); return(amount > LimitAmount?Next.Approve(amount) : true); }