public virtual void ProcessVocationRequest(VocationRequest request) { if (request.LeaveDays < _processDays) { Console.WriteLine(string.Format("{0}'s vocation request is process by his {1}, leave request days are {2} days", request.Name, __managerTitle, request.LeaveDays)); } else if (null != _successor) { _successor.ProcessVocationRequest(request); } }
static void ProcessBlackBox(VocationRequest request) { var directMgr = new DirectManager(); var supervisor = new Supervisor(); var director = new ManagerDirector(); var backMgr = new BackManager(); directMgr.SetSuccessor(supervisor); supervisor.SetSuccessor(director); director.SetSuccessor(backMgr); directMgr.ProcessVocationRequest(request); }
public override void ProcessVocationRequest(VocationRequest request) { Console.WriteLine(string.Format("Sorry, {0}'s vocation request can not be processed: leave request days are {1}", request.Name, request.LeaveDays)); }