public DefaultController(ISqlSugarFactory sqlSugarFactory, IDataLogService logService) { _db = (MySqlSugarClient)sqlSugarFactory.CreateClient("LogsConnection");//Database=DGCN.HXCloud.ID4 Localhost LogsConnection _logService = logService; //1、解决方案:重写SqlSugarClient客户端 (1)使用方便(2)要在注入的时候修改 //2、解决方案:扩展SqlSugarClient客户端 (1)注入不需要修改(2)但所有方法使用的时候需要执行EnableDiffLogEvent方法 //3、解决方案:使用OnLogExecuted (1)方法执行前后的数据获取不到即使修改也很难 }
public HomeController(ISqlSugarFactory sqlSugarFactory) { _db = sqlSugarFactory.CreateClient("LogsConnection");//Database=DGCN.HXCloud.ID4 Localhost LogsConnection db = sqlSugarFactory.CreateClient("LogsConnection"); //方案2 扩展SqlSugarClient客户端 _db.AopDataLogExtentions(db); //1、解决方案:重写SqlSugarClient客户端 (1)使用方便(2)要在注入的时候修改 //2、解决方案:扩展SqlSugarClient客户端 (1)注入不需要修改(2)但所有方法使用的时候需要执行EnableDiffLogEvent方法 //3、解决方案:使用OnLogExecuted (1)方法执行前后的数据获取不到即使修改也很难 }
public UsersService(ISqlSugarFactory factory, IUsersRepository repository, IMediatorHandler bus, IEventStoreRepository eventStoreRepository) : base(factory, repository, bus, eventStoreRepository) { }
public PermissionService(ISqlSugarFactory factory, IPermissionRepository repository, IMediatorHandler bus, IEventStoreRepository eventStoreRepository) : base(factory, repository, bus, eventStoreRepository) { }
public DefaultController(ISqlSugarFactory sqlSugarFactory) { _db = (MySqlSugarClient)sqlSugarFactory.CreateClient("LogsConnection");//Database=DGCN.HXCloud.ID4 Localhost LogsConnection db = sqlSugarFactory.CreateClient("LogsConnection"); //方案1 重写SqlSugarClient客户端 _db.AopDataLog(db, _db); //方案2 //_db.AopDataLogExtentions(db); #region MyRegion //_db.Aop.OnDiffLogEvent = it => //{ // var editBeforeData = it.BeforeData; // var editAfterData = it.AfterData; // var sql = it.Sql; // var parameter = it.Parameters; // var data = it.BusinessData;//表名 // var time = it.Time; // var diffType = it.DiffType;//枚举值 insert 、update 和 delete 用来作业务区分 // //你可以在这里面写日志方法 // var oldValueJson = ""; // if (editBeforeData != null&&editBeforeData.Count!=0) // { // oldValueJson = JsonConvert.SerializeObject(editBeforeData[0].Columns); // } // var newValueJson = "" ; // if (editAfterData != null && editAfterData.Count != 0) // { // newValueJson= JsonConvert.SerializeObject(editAfterData[0].Columns); // } // var model = new DataLog() // { // ID = Guid.NewGuid(), // KeyValue = data.ToString(), // OldValue = oldValueJson != "" ? oldValueJson : null, // NewValue = newValueJson != "" ? newValueJson : null, // OperateType = diffType.ToString(), // UserName = "******", // OperateTime = DateTime.Now.ToString() // }; // db.Insertable(model).ExecuteCommand(); //}; #endregion //var model = new Models.DataLog(); //_db.Aop.OnLogExecuted = (sql, pars) => //SQL执行完事件 //{ // model.ID = Guid.NewGuid(); // var aa = _db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)); // model.NewValue = aa; // model.KeyValue = ""; // model.OperateType = ""; // model.OperateTime = DateTime.Now.ToString(); // db.Insertable(model).ExecuteCommand(); //}; //_db.Aop.OnLogExecuting = (sql, pars) => //SQL执行前事件 //{ // var aa = _db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)); // model.OldValue = aa; //}; //1、解决方案:重写SqlSugarClient客户端 (1)使用方便(2)要在注入的时候修改 //2、解决方案:扩展SqlSugarClient客户端 (1)注入不需要修改(2)但所有方法使用的时候需要执行EnableDiffLogEvent方法 //3、解决方案:使用OnLogExecuted (1)方法执行前后的数据获取不到即使修改也很难 }
public DataLogService(ISqlSugarFactory sqlSugarFactory) { _db = sqlSugarFactory.CreateClient("LogsConnection"); }
public BaseService(ISqlSugarFactory factory, T repository, IMediatorHandler bus, IEventStoreRepository eventStoreRepository) : base(factory, repository) { Bus = bus; _EVENTSTOREREPOSITORY = eventStoreRepository; }