/// <summary>
 /// </summary>
 public ApproveOverWorkItem(int itemID, int accountID, bool isAgree, string remark, int OverWorkID)
 {
     _Account      = _DalAccountBll.GetAccountById(accountID);
     _OverWorkItem = _OverWorkDal.GetOverWorkItemByItemID(itemID);
     _OverWork     = _OverWorkDal.GetOverWorkByOverWorkID(OverWorkID);
     _ItemID       = itemID;
     _Remark       = remark;
     _IsAgree      = isAgree;
     _IsAdjust     = _OverWorkItem.Adjust;
     _AdjustHour   = _OverWorkItem.AdjustHour;
 }
 protected override void Validation()
 {
     _OverWorkItem = _OverWorkDal.GetOverWorkItemByItemID(_ItemID);
     if (_OverWorkItem == null)
     {
         HrmisUtility.ThrowException(HrmisUtility._OverWorkItem_Not_Exit);
     }
 }
        /// <summary>
        /// </summary>
        public static bool CancelOneItem(OverWorkItem item, Account account, string remark,
                                         IOverWork dalOverWork, OverWorkDiyProcessUtility OverWorkDiyProcessUtility)
        {
            item = dalOverWork.GetOverWorkItemByItemID(item.ItemID);
            bool valide = RequestStatus.CanCancelStatus(item.Status);

            if (valide)
            {
                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    dalOverWork.UpdateOverWorkItemStatusByItemID(item.ItemID, RequestStatus.Cancelled);
                    OverWorkFlow OverWorkFlow =
                        new OverWorkFlow(0, account, DateTime.Now, remark,
                                         RequestStatus.Cancelled, 1);
                    dalOverWork.InsertOverWorkFlow(item.ItemID, OverWorkFlow);
                    ts.Complete();
                }
            }
            return(valide);
        }
Esempio n. 4
0
 /// <summary>
 ///
 /// </summary>
 public OverWorkConfirmPhone(int overWorkId, int itemID)
 {
     _OverWork         = _OverWorkDal.GetOverWorkByOverWorkID(overWorkId);
     _OverWorkItem     = _OverWorkDal.GetOverWorkItemByItemID(itemID);
     _OverWork.Account = _AccountBll.GetAccountById(_OverWork.Account.Id);
 }
        /// <summary>
        /// </summary>
        public bool ApproveOneItem(OverWorkItem item, bool isAgree, Account account,
                                   OverWork overWork, string remark,
                                   IOverWork dalOverWork, OverWorkDiyProcessUtility overWorkDiyProcessUtility,
                                   bool isAdjust, bool isChangeAdjust, decimal adjustHour, out Account nextOperator)
        {
            if (!isAdjust)
            {
                adjustHour = 0;
            }
            nextOperator    = null;
            item            = dalOverWork.GetOverWorkItemByItemID(item.ItemID);
            item.AdjustHour = adjustHour;
            bool valide = RequestStatus.CanApproveStatus(item.Status) &&
                          account.Id ==
                          overWorkDiyProcessUtility.GetNextOperator(overWork.DiyProcess, item, overWork.Account.Id).Id;

            if (valide)
            {
                if (!isAgree)
                {
                    using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                    {
                        RequestStatus requestStatus = RequestUtility.GetStatus(item.Status, isAgree, 1);
                        dalOverWork.UpdateOverWorkItemStatusByItemID(item.ItemID, requestStatus);
                        item.Status = requestStatus;
                        if (isChangeAdjust)
                        {
                            dalOverWork.UpdateOverWorkItemAdjustByItemID(item.ItemID, isAdjust, adjustHour);
                            item.Adjust = isAdjust;
                        }
                        dalOverWork.InsertOverWorkFlow(item.ItemID,
                                                       new OverWorkFlow(0, account,
                                                                        DateTime.Now,
                                                                        remark,
                                                                        requestStatus,
                                                                        -1));

                        new UpdateAdjustRestByOverWork(item, overWork.Account.Id).Excute();
                        ts.Complete();
                    }
                    nextOperator = null;
                }
                else
                {
                    int step =
                        overWorkDiyProcessUtility.GetNextStep(item.OverWorkFlow, overWork.DiyProcess);
                    RequestStatus requestStatus = RequestUtility.GetStatus(item.Status, isAgree, step);
                    OverWorkFlow  OverWorkFlow  =
                        new OverWorkFlow(0, account, DateTime.Now, remark, requestStatus, step);
                    using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                    {
                        dalOverWork.InsertOverWorkFlow(item.ItemID, OverWorkFlow);
                        dalOverWork.UpdateOverWorkItemStatusByItemID(item.ItemID, requestStatus);
                        item.Status = requestStatus;
                        if (isChangeAdjust)
                        {
                            dalOverWork.UpdateOverWorkItemAdjustByItemID(item.ItemID, isAdjust, adjustHour);
                            item.Adjust = isAdjust;
                        }
                        new UpdateAdjustRestByOverWork(item, overWork.Account.Id).Excute();
                        ts.Complete();
                    }
                    nextOperator =
                        overWorkDiyProcessUtility.GetNextOperator(overWork.DiyProcess, step, overWork.Account.Id);
                }
            }
            return(valide);
        }
Esempio n. 6
0
 /// <summary>
 /// </summary>
 public OverWorkItem GetOverWorkItemByItemID(int itemID)
 {
     return(_OverWorkDal.GetOverWorkItemByItemID(itemID));
 }