Ejemplo n.º 1
0
 /// <summary>
 /// 查询对账数据
 /// </summary>
 /// <param name="filter">筛选条件</param>
 /// <returns></returns>
 /// <remarks>2014-8-21 朱成果 创建</remarks>
 public Pager <FnThirdpartyReconciliation> QueryReconciliation(Model.Parameter.ParaReconciliationFilter filter)
 {
     return(IFnThirdpartyReconciliationDao.Instance.Query(filter));
 }
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns></returns>
        /// <remarks>2014-8-21 朱成果 创建</remarks>
        public override Pager <FnThirdpartyReconciliation> Query(Model.Parameter.ParaReconciliationFilter filter)
        {
            string selecttable = "FnThirdpartyReconciliation a";
            var    paras       = new ArrayList();

            var where = "1=1 ";
            int i = 0;

            if (filter.Source.HasValue)
            {
                where += " and a.Source=@p0p" + i;
                paras.Add(filter.Source.Value);
                i++;
            }
            if (filter.Status.HasValue)
            {
                where += " and a.Status=@p0p" + i;
                paras.Add(filter.Status.Value);
                i++;
            }

            if (filter.BeginDate.HasValue)
            {
                where += " and a.TradeDate>=@p0p" + i;
                paras.Add(filter.BeginDate.Value);
                i++;
            }

            if (!string.IsNullOrEmpty(filter.FnNo))
            {
                where += " and a.FnNo=@p0p" + i;
                paras.Add(filter.FnNo);
                i++;
            }

            if (!string.IsNullOrEmpty(filter.TraderNo))
            {
                where += " and charindex(a.TraderNo,@p0p" + i + ")>0";
                paras.Add(filter.TraderNo);
                i++;
            }

            if (filter.EndDate.HasValue)
            {
                where += " and a.TradeDate<=@p0p" + i;
                paras.Add(filter.EndDate.Value);
                i++;
            }
            Pager <FnThirdpartyReconciliation> pager = new Pager <FnThirdpartyReconciliation>();

            pager.CurrentPage = filter.Id;
            pager.PageSize    = filter.PageSize;
            pager.TotalRows   = Context.Select <int>("count(0)").From(selecttable)
                                .Where(where)
                                .Parameters(paras)
                                .QuerySingle();
            pager.Rows = Context.Select <FnThirdpartyReconciliation>("a.*")
                         .From(selecttable)
                         .Where(where)
                         .Parameters(paras)
                         .OrderBy("a.TradeDate asc")
                         .Paging(filter.Id, filter.PageSize)
                         .QueryMany();
            return(pager);
        }