Esempio n. 1
0
 /// <summary>
 /// 分页
 /// </summary>
 /// <param name="filter">参数</param>
 /// <returns>分页</returns>
 /// <remarks>2013-08-15 朱家宏 创建</remarks>
 public Pager <SySystemLog> GetLogs(ParaSystemLogFilter filter)
 {
     return(ISySystemLogDao.Instance.Query(filter));
 }
Esempio n. 2
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="filter">查询参数</param>
        /// <returns>分页</returns>
        /// <remarks>2013-08-14 朱家宏 创建</remarks>
        public override Pager <SySystemLog> Query(ParaSystemLogFilter filter)
        {
            var sql = @"SySystemLog a 
                         {0} ";

            #region 构造sql

            var paras = new ArrayList();
            var where = "";
            int i = 0;
            if (filter.Operator.HasValue)
            {
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.Operator=@p0p" + i;
                paras.Add(filter.Operator);
                i++;
            }
            if (!string.IsNullOrWhiteSpace(filter.LogIp))
            {
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.LogIp = @p0p" + i;
                paras.Add(filter.LogIp);
                i++;
            }
            if (filter.LogLevels != null && filter.LogLevels.Any())
            {
                var logLevels = string.Join(",", filter.LogLevels);
                where += (string.IsNullOrWhiteSpace(where)
                    ? ""
                    : " and") +
                         " exists (select 1 from splitstr(@p0p" + i + ",',') tmp where tmp.col = a.LogLevel)";
                paras.Add(logLevels);
                i++;
            }
            if (filter.Sources != null && filter.Sources.Any())
            {
                var sources = string.Join(",", filter.Sources);
                where += (string.IsNullOrWhiteSpace(where)
                    ? ""
                    : " and") +
                         " exists (select 1 from splitstr(@p0p" + i + ",',') tmp where tmp.col = a.Source)";
                paras.Add(sources);
                i++;
            }
            if (filter.BeginDate.HasValue)
            {
                //有效时间(起)
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.logDate>=@p0p" + i;
                paras.Add(filter.BeginDate);
                i++;
            }
            if (filter.EndDate.HasValue)
            {
                //有效时间(止)
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.logDate<@p0p" + i;
                paras.Add(filter.EndDate);
                i++;
            }
            if (!string.IsNullOrWhiteSpace(filter.Message))
            {
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.Message LIKE @p0p" + i;
                paras.Add("%" + filter.Message + "%");
                i++;
            }
            if (filter.TargetType.HasValue)
            {
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.TargetType=@p0p" + i;
                paras.Add(filter.TargetType);
                i++;
            }
            if (filter.TargetSysNo.HasValue)
            {
                where += (string.IsNullOrWhiteSpace(where) ? "" : " and") + " a.TargetSysNo=@p0p" + i;
                paras.Add(filter.TargetSysNo);
                i++;
            }

            sql = string.Format(sql, (string.IsNullOrWhiteSpace(where) ? "" : " where ") + where);


            #endregion

            var dataList  = Context.Select <SySystemLog>("a.*").From(sql);
            var dataCount = Context.Select <int>("count(0)").From(sql);

            dataList.Parameters(paras);
            dataCount.Parameters(paras);

            var pager = new Pager <SySystemLog>
            {
                PageSize    = filter.PageSize,
                CurrentPage = filter.Id,
                TotalRows   = dataCount.QuerySingle(),
                Rows        = dataList.OrderBy("a.sysno desc").Paging(filter.Id, filter.PageSize).QueryMany()
            };

            return(pager);
        }
Esempio n. 3
0
 /// <summary>
 /// 分页查询
 /// </summary>
 /// <param name="filter">查询参数</param>
 /// <returns>分页</returns>
 /// <remarks>2013-08-14 朱家宏 创建</remarks>
 public abstract Pager <SySystemLog> Query(ParaSystemLogFilter filter);