public static PartakerReqNotExistsResult Check(IPartakerReqManager partakerReqManager, TaskEntity task, StaffEntity staff)
        {
            if (partakerReqManager == null) throw new ArgumentNullException(nameof(partakerReqManager));
            if (task == null) throw new ArgumentNullException(nameof(task));
            if (staff == null) throw new ArgumentNullException(nameof(staff));

            var pendingReqs = partakerReqManager.FetchPendingPartakerReqs(task.Id, staff.Id);
            var existed = pendingReqs.SingleOrDefault();

            if (existed != null)
            {
                return new PartakerReqNotExistsResult(false, "已经存在对应的申请信息.", null);
            }
            return new PartakerReqNotExistsResult(true, null, null);
        }
        public PartakerReqController(ISessionScopeFactory sessionScopeFactory,
            ITaskManager taskManager,
            IStaffManager staffManager,
            IPartakerReqManager partakerReqManager)
            : base(sessionScopeFactory)
        {
            if (sessionScopeFactory == null) throw new ArgumentNullException(nameof(sessionScopeFactory));
            if (taskManager == null) throw new ArgumentNullException(nameof(taskManager));
            if (staffManager == null) throw new ArgumentNullException(nameof(staffManager));
            if (partakerReqManager == null) throw new ArgumentNullException(nameof(partakerReqManager));

            m_SessionScopeFactory = sessionScopeFactory;
            m_TaskManager = taskManager;
            m_StaffManager = staffManager;
            m_PartakerReqManager = partakerReqManager;
        }