예제 #1
0
 /// <summary>
 ///     内部命令执行完成后的处理
 /// </summary>
 /// <param name="id">数据</param>
 /// <param name="cmd">命令</param>
 protected sealed override void OnInnerCommand(long id, BusinessCommandType cmd)
 {
     if (!unityStateChanged)
     {
         return;
     }
     OnInnerCommand(Access.LoadByPrimaryKey(id), cmd);
 }
예제 #2
0
 /// <summary>
 ///     更新对象
 /// </summary>
 private bool Saved(TData data, BusinessCommandType type)
 {
     if (!LastSaved(data, BusinessCommandType.AddNew == type))
     {
         return(false);
     }
     OnStateChanged(data, type);
     return(true);
 }
예제 #3
0
 /// <summary>
 ///     状态改变后的统一处理(unityStateChanged不设置为true时不会产生作用--基于性能的考虑)
 /// </summary>
 /// <param name="data">数据</param>
 /// <param name="cmd">命令</param>
 protected void OnStateChanged(TData data, BusinessCommandType cmd)
 {
     if (!unityStateChanged)
     {
         return;
     }
     LogRecorder.MonitorTrace("OnStateChanged");
     OnInnerCommand(data, cmd);
     DoStateChanged(data);
 }
예제 #4
0
        /// <summary>
        ///     内部命令执行完成后的处理
        /// </summary>
        /// <param name="id">数据</param>
        /// <param name="cmd">命令</param>
        protected sealed override void OnStateChanged(long id, BusinessCommandType cmd)
        {
            if (!unityStateChanged)
            {
                return;
            }
            var data = Access.LoadByPrimaryKey(id);

            if (data != null)
            {
                OnStateChanged(data, cmd);
            }
        }
예제 #5
0
 /// <summary>
 /// 数据状态检测
 /// </summary>
 /// <typeparam name="TData"></typeparam>
 /// <param name="data"></param>
 /// <param name="entityType"></param>
 /// <param name="cmd"></param>
 /// <param name="userId"></param>
 public static void OnDataChanged(TData data, int entityType, BusinessCommandType cmd, int userId)
 {
     if (data == null)
     {
         return;
     }
     Task.Factory.StartNew(() =>
     {
         var trigger = new UserJobTrigger <TData>
         {
             TriggerUserId     = userId,
             TriggerData       = data,
             TriggerEntityType = entityType,
             TriggerCommand    = cmd
         };
         trigger.OnTrigger();
     });
 }
예제 #6
0
        /// <summary>
        ///     状态改变后的统一处理(unityStateChanged不设置为true时不会产生作用--基于性能的考虑)
        /// </summary>
        /// <param name="data">数据</param>
        /// <param name="cmd">命令</param>
        protected override void OnStateChanged(TData data, BusinessCommandType cmd)
        {
            if (!unityStateChanged)
            {
                return;
            }
            var old = Access.NoInjection;

            Access.NoInjection = true;
            try
            {
                DoStateChanged(data);
                OnInnerCommand(data, cmd);
            }
            finally
            {
                Access.NoInjection = old;
            }
        }
예제 #7
0
 /// <summary>
 ///     内部命令执行完成后的处理
 /// </summary>
 /// <param name="id">数据</param>
 /// <param name="cmd">命令</param>
 protected virtual void OnInnerCommand(long id, BusinessCommandType cmd)
 {
 }
예제 #8
0
 /// <summary>
 ///     内部命令执行完成后的处理
 /// </summary>
 /// <param name="data">数据</param>
 /// <param name="cmd">命令</param>
 protected virtual void OnInnerCommand(TData data, BusinessCommandType cmd)
 {
 }
예제 #9
0
 /// <summary>
 ///     状态改变后的统一处理
 /// </summary>
 /// <param name="data">数据</param>
 /// <param name="cmd">命令</param>
 protected virtual void OnStateChanged(TData data, BusinessCommandType cmd)
 {
     OnInnerCommand(data, cmd);
 }
예제 #10
0
 /// <summary>
 ///     内部命令执行完成后的处理
 /// </summary>
 /// <param name="id">数据</param>
 /// <param name="cmd">命令</param>
 protected virtual void OnStateChanged(long id, BusinessCommandType cmd)
 {
 }
예제 #11
0
 /// <summary>
 ///     内部命令执行完成后的处理
 /// </summary>
 /// <param name="id">数据</param>
 /// <param name="cmd">命令</param>
 protected virtual void OnStateChanged(TPrimaryKey id, BusinessCommandType cmd)
 {
 }
예제 #12
0
 /// <summary>
 ///     内部命令执行完成后的处理(unityStateChanged不设置为true时不会产生作用--基于性能的考虑)
 /// </summary>
 /// <param name="data">数据</param>
 /// <param name="cmd">命令</param>
 protected override void OnInnerCommand(TData data, BusinessCommandType cmd)
 {
     UserJobTrigger <TData> .OnDataChanged(data, EntityType, cmd, BusinessContext.Current.LoginUserId);
 }