⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logmanager.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.SqlServerDal.Accessories
{
    using Microsoft.Practices.EnterpriseLibrary.Data;
    using PowerEasy.Logging;
    using PowerEasy.SqlServerDal;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;

    public class LogManager : ILogManager
    {
        private int m_TotalOfLog;

        public void Add(LogInfo logInfo)
        {
            DBHelper.ExecuteProc("PR_Accessories_Log_Add", GetParameters(logInfo));
        }

        public bool Delete(DateTime time)
        {
            return DBHelper.ExecuteSql("Delete From PE_log Where datediff(dd,[timestamp],@time) > 0", new Parameters("@time", DbType.DateTime, time));
        }

        public bool Delete(string id)
        {
            return DBHelper.ExecuteSql("Delete From PE_log where LogID in( " + id + " )");
        }

        public IList<LogInfo> GetList(int startRowIndexId, int maxNumberRows)
        {
            return this.GetList(startRowIndexId, maxNumberRows, (string) null);
        }

        public IList<LogInfo> GetList(int startRowIndexId, int maxNumberRows, LogCategory category)
        {
            return this.GetList(startRowIndexId, maxNumberRows, string.Format("Category={0}", (int) category));
        }

        private IList<LogInfo> GetList(int startRowIndexId, int maxNumberRows, string filter)
        {
            Database database = DatabaseFactory.CreateDatabase();
            IList<LogInfo> list = new List<LogInfo>();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "LogID");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC");
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, string.IsNullOrEmpty(filter) ? "" : filter);
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Log");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    list.Add(LogFromrdr(reader));
                }
            }
            this.m_TotalOfLog = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public IList<LogInfo> GetList(int startRowIndexId, int maxNumberRows, string searchType, string keyword)
        {
            string filter = string.Empty;
            string str2 = searchType;
            if (str2 != null)
            {
                if (!(str2 == "UserName"))
                {
                    if (str2 == "Title")
                    {
                        filter = "Title like '%" + keyword + "%'";
                    }
                    else if (str2 == "UserIP")
                    {
                        filter = "UserIP like '" + keyword + "'";
                    }
                }
                else
                {
                    filter = "UserName like '%" + keyword + "%'";
                }
            }
            return this.GetList(startRowIndexId, maxNumberRows, filter);
        }

        public LogInfo GetLogById(int id)
        {
            LogInfo info = null;
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Log where LogID=@LogID", new Parameters("@LogID", DbType.Int32, id)))
            {
                if (reader.Read())
                {
                    info = LogFromrdr(reader);
                }
            }
            return info;
        }

        private static Parameters GetParameters(LogInfo logInfo)
        {
            Parameters parameters = new Parameters();
            parameters.AddInParameter("@Category", DbType.Int32, (int) logInfo.Category);
            parameters.AddInParameter("@Priority", DbType.Int32, logInfo.Priority);
            parameters.AddInParameter("@Title", DbType.String, logInfo.Title);
            parameters.AddInParameter("@Message", DbType.AnsiString, logInfo.Message);
            parameters.AddInParameter("@Timestamp", DbType.DateTime, logInfo.Timestamp);
            parameters.AddInParameter("@UserName", DbType.String, logInfo.UserName);
            parameters.AddInParameter("@UserIP", DbType.String, logInfo.UserIP);
            parameters.AddInParameter("@Source", DbType.AnsiString, logInfo.Source);
            parameters.AddInParameter("@ScriptName", DbType.String, logInfo.ScriptName);
            parameters.AddInParameter("@PostString", DbType.AnsiString, logInfo.PostString);
            return parameters;
        }

        public int GetTotalOfLog()
        {
            return this.m_TotalOfLog;
        }

        private static LogInfo LogFromrdr(NullableDataReader rdr)
        {
            LogInfo info = new LogInfo();
            info.LogId = rdr.GetInt32("LogID");
            info.Category = (LogCategory) rdr.GetInt32("Category");
            info.Priority = (LogPriority) rdr.GetInt32("Priority");
            info.Title = rdr.GetString("Title");
            info.Message = rdr.GetString("Message");
            info.Timestamp = rdr.GetDateTime("Timestamp");
            info.UserName = rdr.GetString("UserName");
            info.UserIP = rdr.GetString("UserIP");
            info.Source = rdr.GetString("Source");
            info.ScriptName = rdr.GetString("ScriptName");
            info.PostString = rdr.GetString("PostString");
            return info;
        }

        public bool Update(LogInfo logInfo)
        {
            Parameters cmdParams = GetParameters(logInfo);
            cmdParams.AddInParameter("@LogID", DbType.Int32, logInfo.LogId);
            return DBHelper.ExecuteProc("PR_Accessories_Log_Update", cmdParams);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -