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,ErrorDate,Type,title,Remark) values('{0}','{1}','{2}','{3}','{4}')", model.UserName, DateTime.Now.ToString(), model.Type, model.Title, 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 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 desc"); } 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 list = ModelConvertHelper.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(); } } #endregion public long DeleteLog(string type) { string strwhere = string.Empty; if (!string.IsNullOrEmpty(type)) { strwhere = " and type ='" + type + "'"; } string sql = string.Format("delete from errorlog where 1=1 " + strwhere + ""); return db.DeleteSql(sql); } } }