Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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();
                }
            }
        }