/// <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); }
/// <summary> /// 更新对象 /// </summary> private bool Saved(TData data, BusinessCommandType type) { if (!LastSaved(data, BusinessCommandType.AddNew == type)) { return(false); } OnStateChanged(data, type); return(true); }
/// <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); }
/// <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); } }
/// <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(); }); }
/// <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; } }
/// <summary> /// 内部命令执行完成后的处理 /// </summary> /// <param name="id">数据</param> /// <param name="cmd">命令</param> protected virtual void OnInnerCommand(long id, BusinessCommandType cmd) { }
/// <summary> /// 内部命令执行完成后的处理 /// </summary> /// <param name="data">数据</param> /// <param name="cmd">命令</param> protected virtual void OnInnerCommand(TData data, BusinessCommandType cmd) { }
/// <summary> /// 状态改变后的统一处理 /// </summary> /// <param name="data">数据</param> /// <param name="cmd">命令</param> protected virtual void OnStateChanged(TData data, BusinessCommandType cmd) { OnInnerCommand(data, cmd); }
/// <summary> /// 内部命令执行完成后的处理 /// </summary> /// <param name="id">数据</param> /// <param name="cmd">命令</param> protected virtual void OnStateChanged(long id, BusinessCommandType cmd) { }
/// <summary> /// 内部命令执行完成后的处理 /// </summary> /// <param name="id">数据</param> /// <param name="cmd">命令</param> protected virtual void OnStateChanged(TPrimaryKey id, BusinessCommandType cmd) { }
/// <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); }