Ejemplo n.º 1
0
        /// <summary>
        /// 更新请假单状态
        /// </summary>
        /// <param name="id">请假单ID</param>
        /// <param name="Status">状态</param>
        /// <param name="UserID">更新的用户ID</param>
        /// <param name="RejectionReason">拒绝理由</param>
        public ReturnInfo UpdateLeaveStatus(string ID, L_Status Status, string UserID, string RejectionReason)
        {
            ReturnInfo    RInfo  = new ReturnInfo();
            StringBuilder sb     = new StringBuilder();
            Leave         entity = _leaveRepository.GetByID(ID).FirstOrDefault();

            if (entity != null)
            {
                Leave entity2 = _leaveRepository.GetByID(entity.L_ID).AsNoTracking().FirstOrDefault();
                if (entity2.L_Status == (int)L_Status.已审批)
                {
                    RInfo.IsSuccess = false;
                    RInfo.ErrorInfo = "审核通过的不能继续审核!";
                    return(RInfo);
                }
                else
                {
                    if (entity2.L_Status + 1 == (int)Status || Status == L_Status.已拒绝)
                    {
                        try
                        {
                            entity.L_UpdateDate      = DateTime.Now;
                            entity.L_Status          = (int)Status;
                            entity.L_CurrantCheck    = UserID;
                            entity.L_UpdateUser      = UserID;
                            entity.L_RejectionReason = RejectionReason;
                            _unitOfWork.RegisterDirty(entity);
                            bool result = _unitOfWork.Commit();
                            RInfo.IsSuccess = result;
                            RInfo.ErrorInfo = sb.ToString();
                            return(RInfo);
                        }
                        catch (Exception ex)
                        {
                            _unitOfWork.RegisterClean(entity);
                            _unitOfWork.Rollback();
                            sb.Append(ex.Message);
                            RInfo.IsSuccess = false;
                            RInfo.ErrorInfo = sb.ToString();
                            return(RInfo);
                        }
                    }
                    else
                    {
                        RInfo.IsSuccess = false;
                        RInfo.ErrorInfo = "错误的审批流程!";
                        return(RInfo);
                    }
                }
            }
            else
            {
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = "该请假单ID不存在!";
                return(RInfo);
            }
        }
Ejemplo n.º 2
0
 public void DisplayTimeEvent(object source, ElapsedEventArgs e)
 {
     if (!m_parent.init)
     {
         if (L_Status.InvokeRequired)
         {
             L_Status.Invoke((MethodInvoker) delegate { L_Status.Text = Form1.Status; });
         }
         else
         {
             L_Status.Text = Form1.Status;
         }
     }
     else
     if (InvokeRequired && IsHandleCreated)
     {
         try { Invoke((MethodInvoker) delegate() { Close(); }); } catch { Close(); }
     }
     else
     {
         Close();
     }
 }