using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using SysBaseLibs;
using System.Web.Script.Serialization;
namespace SysDataLibs.TableClass
{
#region Sys_Log
public class Sys_Log_info : ITableInfo
{
#region Sys_Log表 字段信息
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: nvarchar;
/// 数据长度: 100;
/// 是否允许为空: Y;
/// 默认值: ;
/// 描述: 执行动作;
///
public const string cLogCommand = "LogCommand";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: smalldatetime;
/// 数据长度: 4;
/// 是否允许为空: N;
/// 默认值: ;
/// 描述: 日志日期;
///
public const string cLogDate = "LogDate";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: ntext;
/// 数据长度: 16;
/// 是否允许为空: Y;
/// 默认值: ;
/// 描述: 执行结果;
///
public const string cLogErrorMessage = "LogErrorMessage";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: nvarchar;
/// 数据长度: 6000;
/// 是否允许为空: N;
/// 默认值: ;
/// 描述: 动作内容;
///
public const string cLogMessage = "LogMessage";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: nvarchar;
/// 数据长度: 1000;
/// 是否允许为空: Y;
/// 默认值: ;
/// 描述: 动作执行位置;
///
public const string cLogSite = "LogSite";
///
/// 为关键字段: Y --- PrimaryKey;
/// 自动增长: Y;
/// 数据类型: int;
/// 数据长度: 4;
/// 是否允许为空: N;
/// 默认值: ;
/// 描述: 日志编号;
///
public const string cSysLogId = "SysLogId";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: nchar;
/// 数据长度: 2;
/// 是否允许为空: N;
/// 默认值: ;
/// 描述: 日志类型;
///
public const string cSysLogType = "SysLogType";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: nvarchar;
/// 数据长度: 100;
/// 是否允许为空: Y;
/// 默认值: ;
/// 描述: 执行人的网址;
///
public const string cUserHostAddress = "UserHostAddress";
///
/// 为关键字段: N ;
/// 自动增长: N;
/// 数据类型: varchar;
/// 数据长度: 30;
/// 是否允许为空: N;
/// 默认值: ;
/// 描述: 执行人编号;
///
public const string cUserId = "UserId";
#endregion
public Sys_Log_info() { }
public Sys_Log_info(DataRow poRow)
{
CreateTableInfo(poRow);
}
public void CreateTableInfo(DataRow poRow)
{
_LogCommand = UtilStr.StrFromObj(poRow[cLogCommand]);
_LogDate = UtilStr.StrFromObj(poRow[cLogDate]);
_LogErrorMessage = UtilStr.StrFromObj(poRow[cLogErrorMessage]);
_LogMessage = UtilStr.StrFromObj(poRow[cLogMessage]);
_LogSite = UtilStr.StrFromObj(poRow[cLogSite]);
_SysLogId = UtilStr.StrFromObj(poRow[cSysLogId]);
_SysLogType = UtilStr.StrFromObj(poRow[cSysLogType]);
_UserHostAddress = UtilStr.StrFromObj(poRow[cUserHostAddress]);
_UserId = UtilStr.StrFromObj(poRow[cUserId]);
}
public Sys_Log_info(string pcSysLogId, DBConnSql poDBConn)
{
if (pcSysLogId.Trim().Length > 0 && poDBConn != null)
{
string lcSql = "select * from " + Tn.Sys_Log + " where SysLogId='" + pcSysLogId + "'";
rsQuery loQuery = poDBConn.OpenQuery(lcSql);
if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1)
{
loQuery.MoveFirst();
CreateTableInfo(loQuery.CurrentRow);
}
}
}
private string _LogCommand = "";
public string LogCommand
{
get { return _LogCommand; }
set { _LogCommand = value; }
}
private string _LogDate = "";
public string LogDate
{
get { return _LogDate; }
set { _LogDate = value; }
}
private string _LogErrorMessage = "";
public string LogErrorMessage
{
get { return _LogErrorMessage; }
set { _LogErrorMessage = value; }
}
private string _LogMessage = "";
public string LogMessage
{
get { return _LogMessage; }
set { _LogMessage = value; }
}
private string _LogSite = "";
public string LogSite
{
get { return _LogSite; }
set { _LogSite = value; }
}
private string _SysLogId = "";
public string SysLogId
{
get { return _SysLogId; }
set { _SysLogId = value; }
}
private string _SysLogType = "";
public string SysLogType
{
get { return _SysLogType; }
set { _SysLogType = value; }
}
private string _UserHostAddress = "";
public string UserHostAddress
{
get { return _UserHostAddress; }
set { _UserHostAddress = value; }
}
private string _UserId = "";
public string UserId
{
get { return _UserId; }
set { _UserId = value; }
}
[ScriptIgnore]
public rsXmlNode DataXMLNode
{
get
{
rsXmlNode loMainNode = new rsXmlNode("Sys_LogRecord", "");
rsXmlNode loNode = null;
loNode = new rsXmlNode(cLogCommand, LogCommand);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cLogDate, LogDate);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cLogErrorMessage, LogErrorMessage);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cLogMessage, LogMessage);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cLogSite, LogSite);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cSysLogId, SysLogId);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cSysLogType, SysLogType);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cUserHostAddress, UserHostAddress);
loMainNode.AddChild(loNode);
loNode = new rsXmlNode(cUserId, UserId);
loMainNode.AddChild(loNode);
return loMainNode;
}
}
public string InsertSql()
{
return " insert into " + Tn.Sys_Log + " " +
" (" + cLogCommand + "," + cLogDate + "," + cLogErrorMessage + "," + cLogMessage + "," + cLogSite + "," + cSysLogType + "," + cUserHostAddress + "," + cUserId + ") " +
" values ('" + _LogCommand + "','" + _LogDate + "','" + _LogErrorMessage + "','" + _LogMessage + "','" + _LogSite + "','" + _SysLogType + "','" + _UserHostAddress + "','" + _UserId + "') ";
}
public string UpdateSql()
{
return " update " + Tn.Sys_Log + " " +
" set " + cLogCommand + "='" + _LogCommand + "'," + cLogDate + "='" + _LogDate + "'," + cLogErrorMessage + "='" + _LogErrorMessage + "'," + cLogMessage + "='" + _LogMessage + "'," + cLogSite + "='" + _LogSite + "'," + cSysLogType + "='" + _SysLogType + "'," + cUserHostAddress + "='" + _UserHostAddress + "'," + cUserId + "='" + _UserId + "' " +
" where " + cSysLogId + "=" + _SysLogId + "";
}
public string DeleteSql()
{
return "Delete " + Tn.Sys_Log + " where " + cSysLogId + "=" + _SysLogId + "";
}
public static void LogMsg(LogType poType, string pcCommond, string pcMsg, string pcErrorMsg)
{
UserSession loSession = WebLibs.CheckLogin();
if (pcMsg != null && pcMsg.Length > 0 && loSession != null)
{
Sys_Log_info loSysLog = new Sys_Log_info();
loSysLog.LogCommand = pcCommond;
loSysLog.LogDate = DateTime.Now.ToString();
loSysLog.LogMessage = pcMsg;
loSysLog.LogErrorMessage = pcErrorMsg;
loSysLog.SysLogType = ((int)poType).ToString();
loSysLog.UserId = loSession.UserInfo.UserID;
loSysLog.UserHostAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
loSysLog.LogSite = System.Web.HttpContext.Current.Request.RawUrl;
LogMsg(loSysLog);
}
}
public static void LogMsg(Sys_Log_info poSysLog)
{
if (poSysLog != null)
{
DBConnSql loDBConn = new DBConnSql();
if (loDBConn.Open())
{
try
{
if (loDBConn != null && loDBConn.IsOpened)
{
int liSaveMonths = AppEnv.SysSetObj.GetInt("MessageSaveMonth");
DateTime loTime = DateTime.Now.AddMonths(liSaveMonths);
string lcSql = " delete "+Tn.Sys_Log+" where logdate <'" + loTime.ToShortDateString() + "'";
loDBConn.ExcuteSqlTran(lcSql + poSysLog.InsertSql());
loDBConn.Close();
}
}
finally
{
if (loDBConn != null)
loDBConn.Close();
}
}
if (loDBConn != null)
loDBConn = null;
}
}
}
public enum LogType
{
Normal = 0,
System = 1,
ErrorMsg = 2
}
#endregion
#region
public class Sys_Log_Qry : rsQuery
{
public String LogCommand
{
get { return GetString(Sys_Log_info.cLogCommand); }
// set { SetField(Sys_Log_info.cLogCommand, value); }
}
public DateTime LogDate
{
get { return GetDateTime(Sys_Log_info.cLogDate); }
// set { SetField(Sys_Log_info.cLogDate, value); }
}
public String LogErrorMessage
{
get { return GetString(Sys_Log_info.cLogErrorMessage); }
// set { SetField(Sys_Log_info.cLogErrorMessage, value); }
}
public String LogMessage
{
get { return GetString(Sys_Log_info.cLogMessage); }
// set { SetField(Sys_Log_info.cLogMessage, value); }
}
public String LogSite
{
get { return GetString(Sys_Log_info.cLogSite); }
// set { SetField(Sys_Log_info.cLogSite, value); }
}
public Int64 SysLogId
{
get { return GetInt(Sys_Log_info.cSysLogId); }
// set { SetField(Sys_Log_info.cSysLogId, value); }
}
public Boolean SysLogType
{
get { return GetBool(Sys_Log_info.cSysLogType); }
// set { SetField(Sys_Log_info.cSysLogType, value); }
}
public String UserHostAddress
{
get { return GetString(Sys_Log_info.cUserHostAddress); }
// set { SetField(Sys_Log_info.cUserHostAddress, value); }
}
public String UserId
{
get { return GetString(Sys_Log_info.cUserId); }
// set { SetField(Sys_Log_info.cUserId, value); }
}
}
#endregion
}