static void Main(string[] args) { Manager jinli = new Manager("金利"); Manager zongjian = new Manager("宗剑"); Manager zhongjingli = new Manager("钟精励"); Request request = new Request(); request.RequestType = "加薪"; request.RequestContent = "小菜请求加薪"; request.Number = 1000; jinli.GetResult(ManagerLevel.经理, request); zongjian.GetResult(ManagerLevel.总监, request); zhongjingli.GetResult(ManagerLevel.总经理, request); Request request2 = new Request(); request2.RequestType = "请假"; request2.RequestContent = "小菜请假"; request2.Number = 3; jinli.GetResult(ManagerLevel.经理, request2); zongjian.GetResult(ManagerLevel.总监, request2); zhongjingli.GetResult(ManagerLevel.总经理, request2); Console.Read(); }
public override void RequestApplications(Request request) { if (request.RequestType == "请假" && request.Number <= 5) { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else { if (superior != null) superior.RequestApplications(request); } }
public override void RequestApplications(Request request) { if (request.RequestType == "请假") { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else if (request.RequestType == "加薪" && request.Number <= 500) { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else if (request.RequestType == "加薪" && request.Number > 500) { Console.WriteLine("{0}:{1} 数量{2} 再说吧", name, request.RequestContent, request.Number); } }
//得到结果 public void GetResult(ManagerLevel managerLevel, Request request) { if (managerLevel == ManagerLevel.经理) { if (request.RequestType == "请假" && request.Number <= 2) { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else { Console.WriteLine("{0}:{1} 数量{2} 我无权处理", name, request.RequestContent, request.Number); } } else if (managerLevel == ManagerLevel.总监) { if (request.RequestType == "请假" && request.Number <= 5) { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else { Console.WriteLine("{0}:{1} 数量{2} 我无权处理", name, request.RequestContent, request.Number); } } else if (managerLevel == ManagerLevel.总经理) { if (request.RequestType == "请假") { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else if (request.RequestType == "加薪" && request.Number <= 500) { Console.WriteLine("{0}:{1} 数量{2} 被批准", name, request.RequestContent, request.Number); } else if (request.RequestType == "加薪" && request.Number > 500) { Console.WriteLine("{0}:{1} 数量{2} 再说吧", name, request.RequestContent, request.Number); } } }
static void Main(string[] args) { CommonManager jinli = new CommonManager("金利"); Majordomo zongjian = new Majordomo("宗剑"); GeneralManager zhongjingli = new GeneralManager("钟精励"); jinli.SetSuperior(zongjian); zongjian.SetSuperior(zhongjingli); Request request = new Request(); request.RequestType = "请假"; request.RequestContent = "小菜请假"; request.Number = 1; jinli.RequestApplications(request); Request request2 = new Request(); request2.RequestType = "请假"; request2.RequestContent = "小菜请假"; request2.Number = 4; jinli.RequestApplications(request2); Request request3 = new Request(); request3.RequestType = "加薪"; request3.RequestContent = "小菜请求加薪"; request3.Number = 500; jinli.RequestApplications(request3); Request request4 = new Request(); request4.RequestType = "加薪"; request4.RequestContent = "小菜请求加薪"; request4.Number = 1000; jinli.RequestApplications(request4); Console.Read(); }
//申请请求 abstract public void RequestApplications(Request request);