示例#1
0
        static void Main(string[] args)
        {
            LeaveContext context = new LeaveContext
            {
                Request = new LeaveRequest
                {
                    Applicant = "张三",
                    Reason    = "世界那么大,我想去看看",
                    LeaveDays = new Random().Next(1, 10)
                }
            };

            TL tL = new TL("李四");

            tL.HandleRequest(context);

            if (context.Response == null)
            {
                Console.WriteLine($"{context.Request.LeaveDays}天假期太长,没人处理请假申请,请假失败");
            }
            else
            {
                Console.WriteLine($"{context.Response.Approver}审批了{context.Request.Applicant}的{context.Request.LeaveDays}天请假申请");
            }
        }
示例#2
0
 public override void HandleRequest(LeaveContext context)
 {
     if (context.Request.LeaveDays > 3 &&
         context.Request.LeaveDays <= 7)
     {
         context.Response = new LeaveResponse
         {
             Approver = "CTO:" + Name,
             IsAgreed = true
         };
     }
 }
示例#3
0
        public override void HandleRequest(LeaveContext context)
        {
            if (context.Request.LeaveDays <= 1)
            {
                context.Response = new LeaveResponse
                {
                    Approver = "TL:" + Name,
                    IsAgreed = true
                };
                return;
            }

            PM pM = new PM("王五");

            pM.HandleRequest(context);
        }
示例#4
0
        public override void HandleRequest(LeaveContext context)
        {
            if (context.Request.LeaveDays > 1 &&
                context.Request.LeaveDays <= 3)
            {
                context.Response = new LeaveResponse
                {
                    Approver = "PM:" + Name,
                    IsAgreed = true
                };
                return;
            }

            CTO cTO = new CTO("赵六");

            cTO.HandleRequest(context);
        }
示例#5
0
 public abstract void HandleRequest(LeaveContext context);