Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        protected override void Validation()
        {
            _LeaveRequest = _DalLeaveRequest.GetLeaveRequestByPKID(_LeaveRequestID);
            //判断请假信息是否为空
            if (_LeaveRequest == null)
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequest_Not_Exist);
            }

            //判断该账号是否有请假流程
            _LeaveRequest.DiyProcess =
                _DalEmployeeDiyProcess.GetDiyProcessByProcessTypeAndAccountID(ProcessType.LeaveRequest, _LeaveRequest.Account.Id);
            if (_LeaveRequest.DiyProcess == null)
            {
                HrmisUtility.ThrowException(HrmisUtility._No_LeaveRequest_DiyProcess);
            }

            _LeaveRequestItem = _DalLeaveRequest.GetLeaveRequestItemByPKID(_LeaveRequestItemID);
            if (_LeaveRequestItem == null)
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequest_Not_Exist);
            }
            //如果请假信息状态不是取消或提交状态,不能取消
            if (!RequestStatus.CanCancelStatus(_LeaveRequestItem.Status))
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequest_Partial_CanNot_BeCancled);
            }
        }
 /// <summary>
 ///
 /// </summary>
 public LeaveRequestOverPhone(int leaveRequestID, LeaveRequestItem item, int nowAccountID)
 {
     _LeaveRequest         = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID);
     _LeaveRequest.Account = _AccountBll.GetAccountById(_LeaveRequest.Account.Id);
     _LeaveRequestItem     = _DalLeaveRequest.GetLeaveRequestItemByPKID(item.LeaveRequestItemID);
     _NowAccount           = nowAccountID;
 }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="leaveRequestID"></param>
        /// <returns></returns>
        public List <LeaveRequestFlow> GetLeaveRequestFlowByLeaveRequestID(int leaveRequestID)
        {
            List <LeaveRequestFlow> iRet = _DalLeaveRequestFlow.GetLeaveRequestFlowByLeaveRequestID(leaveRequestID);

            foreach (LeaveRequestFlow flow in iRet)
            {
                flow.LeaveRequestItem =
                    _DalLeaveRequest.GetLeaveRequestItemByPKID(flow.LeaveRequestItem.LeaveRequestItemID);
                flow.Account = _IAccountBll.GetAccountById(flow.Account.Id);
            }
            return(iRet);
        }
Exemplo n.º 4
0
        protected override void ExcuteSelf()
        {
            RequestStatus    status;
            LeaveRequestItem item = _DalLeaveRequest.GetLeaveRequestItemByPKID(PhoneMessage.PhoneMessageType.PKID);
            RequestStatus    s    = item.Status;

            if (Operation)
            {
                switch (s.Id)
                {
                case 1:
                case 7:
                    status = RequestStatus.ApprovePass;
                    break;

                case 4:
                case 8:
                    status = RequestStatus.ApproveCancelPass;
                    break;

                default:
                    status = RequestStatus.ApprovePass;
                    break;
                }
                //status = RequestStatus.ApprovePass;
            }
            else
            {
                switch (s.Id)
                {
                case 1:
                case 7:
                    status = RequestStatus.ApproveFail;
                    break;

                case 4:
                case 8:
                    status = RequestStatus.ApproveCancelFail;
                    break;

                default:
                    status = RequestStatus.ApproveFail;
                    break;
                }
                //status = RequestStatus.ApproveFail;
            }
            int leaverequestID = item.LeaveRequestID;
            ApproveLeaveRequestItem approveWholeLeaveRequest = new ApproveLeaveRequestItem(leaverequestID, PhoneMessage.PhoneMessageType.PKID, _PhoneMessage.Assessor.Id, status, Remark);

            approveWholeLeaveRequest.Excute();
        }