Files
T-DAS/Epost.DAL/ErrorLogDAL.cs
2023-01-13 15:30:20 +08:00

124 lines
3.8 KiB
C#

using Epost.Common;
using Epost.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Epost.DAL.Enum.SqlLogType;
namespace Epost.DAL
{
public class ErrorLogDAL
{
DataBaseOpration.OprationSqlDAL db = DB_DLL.GetInstance();
#region
public bool InsertErrorLog(ErrorLogModel model)
{
try
{
string sql = string.Format("insert into errorlog(username,ControlIP,ControlID,Address,ErrorDate,Type,BkAddress,Remark) values('{0}','{1}','{2}','{3}','{4}',{5},'{6}','{7}')",
model.UserName,
model.ControlIP,
model.ControlID,
model.Address,
DateTime.Now.ToString(),
model.Type,
model.BkAddress,
model.Remark);
int x = db.InsertSql(sql);
if (x > 0)
return true;
return false;
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("添加错误日志异常:" + ex.Message);
return false;
}
}
#endregion
#region
public DataTable ErrorLogList(sqlLogType type)
{
try
{
string sql = string.Format("select * from errorlog where type='{0}' ",
type
);
DataTable dt = db.GetsqlForDT(sql);
return dt;
}
catch (Exception ex)
{
LogHelper.WriteLogInfo("查询错误日志异常:" + ex.Message);
return null;
}
}
#endregion
#region
public List<ErrorLogModel> GetLog4NetDetailListByPage(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
{
try
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by Id asc");
}
strSql.Append(")AS Row, T.* from ErrorLog T WITH(NOLOCK) ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE 1=1 " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
List<ErrorLogModel> list = ModelConvertHelper<ErrorLogModel>.ConvertToList(db.GetsqlForDT(strSql.ToString()));
strSql.Remove(0, strSql.Length);
strSql.Append("SELECT COUNT(*) FROM ErrorLog AS T ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.AppendFormat(" WHERE 1=1 {0}", strWhere);
}
object obj = db.GetsqlForDT(strSql.ToString()).Rows[0][0];
if (obj != null)
recordCount = Convert.ToInt32(obj);
else
recordCount = 0;
return list;
}
catch (Exception ex)
{
LogHelper.WriteLog(GetType(), ex.Message);
recordCount = 0;
return new List<Model.ErrorLogModel>();
}
}
#endregion
}
}