private void WriteDbSqlExecuteLog(SqlHelper helper, DbSqlExecuteLog executeLog) { helper.Insert(executeLog); var id = executeLog.Id; foreach (var item in executeLog.Items) { item.SqlExecuteLogId = id; helper.Insert(item); } }
private async Task WriteExecuteLog(Req <ExecuteSqlDto> request, string SqlConnectionName, DateTime addingTime, ExecuteResult result, int runTime) { var helper = GetReadHelper(); var admin = await helper.Where <DbSysAdmin>(q => q.IsDelete == false).Where(q => q.Id == request.OperatorId).FirstOrDefault_Async(); var setttings = await helper.Select_Async <DbSqlQueryLogSetting>("where IsDelete=0 and IsFrozen=0 "); helper.Dispose(); DbSqlExecuteLog executeLog = new DbSqlExecuteLog() { AddingTime = addingTime, AdminId = admin.Id, AdminJobNo = admin.JobNo, AdminName = admin.Name, AdminPhone = admin.Phone, AdminTrueName = admin.TrueName, SqlConnectionId = request.Data.SqlConnId, SqlConnectionName = SqlConnectionName, DatabaseName = request.Data.Database, Sql = request.Data.Sql, RunReadResult = string.IsNullOrEmpty(result.Exception) ? EnumRunReadResult.Success : EnumRunReadResult.Fail, RunTime = runTime, Exception = result.Exception, Items = new List <DbSqlExecuteLogItem>() }; if (result.Result != null) { foreach (var item in result.Result) { if (string.IsNullOrEmpty(item.OldData) == false) { var it = new DbSqlExecuteLogItem() { OldData = item.OldData, Sql = item.Sql, }; executeLog.Items.Add(it); } } } foreach (var item in setttings) { if (item.LogType == 1) { var logHelper = Config.GetLogSqlHelper(DateTime.Now); WriteDbSqlExecuteLog(logHelper, executeLog); logHelper.Dispose(); } else if (item.LogType == 2) { await PostContent(item.Data, executeLog.ToJson()); } else if (item.LogType == 3) { var logHelper = SqlHelperFactory.OpenDatabase(item.Data, SqlType.SqlServer); WriteDbSqlExecuteLog(logHelper, executeLog); logHelper.Dispose(); } else if (item.LogType == 4) { var logHelper = SqlHelperFactory.OpenDatabase(item.Data, SqlType.MySql); WriteDbSqlExecuteLog(logHelper, executeLog); logHelper.Dispose(); } } }