コード例 #1
0
ファイル: AddOverWork.cs プロジェクト: zzz1985xxxwl/bjl_hrmis
        protected override void ExcuteSelf()
        {
            try
            {
                _OverWork.DiyProcess = _OverWorkDiyProcessUtility.GetOverWorkDiyProcessByAccountID(_OverWork.Account.Id);
                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    int _CurrentId = _OverWorkDal.InsertOverWork(_OverWork);
                    _OverWork.PKID = _CurrentId;
                    if (_OverWork.Item != null)
                    {
                        foreach (OverWorkItem item in _OverWork.Item)
                        {
                            item.AdjustHour =
                                new UpdateAdjustRestByOverWork(item, _OverWork.Account.Id).GetItemAdjustHour();
                            int itemid = _OverWorkDal.InsertOverWorkItem(_CurrentId, item);

                            if (item.Status == RequestStatus.Submit)
                            {
                                OverWorkFlow flow =
                                    new OverWorkFlow(0, _OverWork.Account, _OverWork.SubmitDate, _OverWork.Reason,
                                                     item.Status, 1);
                                _OverWorkDal.InsertOverWorkFlow(itemid, flow);
                            }
                        }
                    }
                    ts.Complete();
                }
            }
            catch
            {
                HrmisUtility.ThrowException(HrmisUtility._DbError);
            }
            new OverWorkMailAndPhoneDelegate().SubmitOperation(_OverWork.PKID, _CCList);
        }
コード例 #2
0
 protected override void Validation()
 {
     if (_OldOverWork == null)
     {
         HrmisUtility.ThrowException(HrmisUtility._OverWorkItem_Not_Exit);
     }
     if (new GetEmployeeAdjustRule().GetAdjustRuleByAccountID(_OverWork.Account.Id) == null)
     {
         HrmisUtility.ThrowException(HrmisUtility._Employee_NotHave_AdjustRule);
     }
     _OverWork.DiyProcess = _OverWorkDiyProcessUtility.GetOverWorkDiyProcessByAccountID(_OverWork.Account.Id);
     if (_OverWork.DiyProcess == null)
     {
         HrmisUtility.ThrowException(HrmisUtility._No_OverWork_DiyProcess);
     }
     foreach (OverWorkItem item in _OverWork.Item)
     {
         if (item.CostTime == 0)
         {
             HrmisUtility.ThrowException(HrmisUtility._OverWorkItem_CanNot_Zero);
         }
     }
     new ValidateRequestItemRepeat(_OverWork, false).Excute();
 }