public void AddEvent()
 {
     //数据验证过程
     if (!new PositionVaildater(_ItsView).Vaildate())
     {
         return;
     }
     //数据收集过程
     _ANewObject = new Position();
     new PositionDataCollector(_ItsView).CompleteTheObject(_ANewObject);
     try
     {
         using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
         {
             BllInstance.PositionBllInstance.CreatePosition(_ANewObject, _LoginUser);
             if (CompanyConfig.HasHrmisSystem)
             {
                 IPositionHistoryFacade hrmisPositionHistoryFacade =
                     new PositionHistoryFacade();
                 hrmisPositionHistoryFacade.AddPositionHistoryFacade(_LoginUser);
             }
             ts.Complete();
         }
         _ItsView.ActionSuccess = true;
     }
     catch (ApplicationException ae)
     {
         _ItsView.Message = ae.Message;
     }
     catch (Exception e)
     {
         _ItsView.Message = e.Message;
     }
 }
 private void SaveEvent()
 {
     try
     {
         List <PositionGrade> objs = CloneSrc(_ItsView.PositionGradeListSrc);
         using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
         {
             BllInstance.PositionBllInstance.SavePositionGradeList(objs,
                                                                   _ItsView.DelPositionGradeId, _LoginUser);
             if (CompanyConfig.HasHrmisSystem)
             {
                 IPositionHistoryFacade hrmisPositionHistoryFacade =
                     new PositionHistoryFacade();
                 hrmisPositionHistoryFacade.AddPositionHistoryFacade(_LoginUser);
             }
             ts.Complete();
         }
         _ItsView.Message = "保存成功!";
         _ItsView.PositionGradeListSrc = objs;
     }
     catch (ApplicationException ae)
     {
         _ItsView.Message = ae.Message;
     }
 }
        public void UpdateEvent()
        {
            //数据验证过程
            if (!new PositionVaildater(_ItsView).Vaildate())
            {
                return;
            }
            //数据收集过程
            Position theObject =
                BllInstance.PositionBllInstance.GetPositionById(Convert.ToInt32(_ItsView.positionID), _LoginUser);
            string oldName        = theObject.Name;
            string oldDescription = theObject.Description;

            //int oldGradeId = theObject.Grade.Id;
            new PositionDataCollector(_ItsView).CompleteTheObject(theObject);
            //执行事务过程
            try
            {
                //如果有变化则修改
                if (oldName != theObject.Name ||
                    oldDescription != theObject.Description)
                {
                    using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                    {
                        BllInstance.PositionBllInstance.UpdatePosition(theObject, _LoginUser);
                        if (CompanyConfig.HasHrmisSystem &&
                            oldName != theObject.Name)
                        {
                            IPositionHistoryFacade hrmisPositionHistoryFacade =
                                new PositionHistoryFacade();
                            hrmisPositionHistoryFacade.AddPositionHistoryFacade(_LoginUser, theObject);
                        }
                        ts.Complete();
                    }
                }
                _ItsView.ActionSuccess = true;
            }
            catch (ApplicationException ae)
            {
                _ItsView.Message = ae.Message;
            }
        }