/// <summary> /// 根据条件获取广告项的列表 /// </summary> /// <param name="pageIndex">索引</param> /// <param name="groupSysNo">广告组编号</param> /// <param name="status">状态</param> /// <param name="beginDate">开始时间</param> /// <param name="endDate">结束时间</param> /// <param name="linkTitle">连接名称</param> /// <returns>广告项列表</returns> /// <remarks>2013-10-11 苟治国 创建</remarks> public PagedList <Model.CBFeAdvertItem> Seach(ParaAdvertItemFilter filter) { var list = new PagedList <CBFeAdvertItem>(); var pager = new Pager <CBFeAdvertItem>(); pager.CurrentPage = (int)filter.id; pager.PageFilter = new CBFeAdvertItem { GroupSysNo = filter.groupSysNo, Status = (int)filter.status, LinkTitle = filter.linkTitle, Name = filter.linkTitle, DealerSysNo = filter.DealerSysNo, IsBindDealer = filter.IsBindDealer, IsBindAllDealer = filter.IsBindAllDealer, DealerCreatedBy = filter.DealerCreatedBy, SelectedDealerSysNo = filter.SelectedDealerSysNo }; var para = new ParaFeAdvertItem() { StartTime = filter.beginDate, EndTime = filter.endDate, }; pager.PageSize = list.PageSize; pager = IFeAdvertItemDao.Instance.Seach(pager, para); list = new PagedList <CBFeAdvertItem> { TData = pager.Rows, CurrentPageIndex = pager.CurrentPage, TotalItemCount = pager.TotalRows }; return(list); }
/// <summary> /// 根据条件获取广告项的列表 /// </summary> /// <param name="pager">广告项查询条件</param> /// <param name="para">参数</param> /// <returns>广告项列表</returns> /// <remarks>2013-10-11 苟治国 创建</remarks> public abstract Pager <Model.CBFeAdvertItem> Seach(Pager <CBFeAdvertItem> pager, ParaFeAdvertItem para);
/// <summary> /// 根据条件获取广告项的列表 /// </summary> /// <param name="pager">广告项查询条件</param> /// <param name="para">参数</param> /// <returns>广告项列表</returns> /// <remarks>2013-10-11 苟治国 创建</remarks> public override Pager <Model.CBFeAdvertItem> Seach(Pager <CBFeAdvertItem> pager, ParaFeAdvertItem para) { #region sql条件 var sqlWhere = "1=1"; //判断是否绑定所有分销商 if (!pager.PageFilter.IsBindAllDealer) { //判断是否绑定分销商 if (pager.PageFilter.IsBindDealer) { sqlWhere += " and d.SysNo = " + pager.PageFilter.DealerSysNo; } else { sqlWhere += " and d.CreatedBy = " + pager.PageFilter.DealerCreatedBy; } } if (pager.PageFilter.SelectedDealerSysNo != -1) { sqlWhere += " and d.SysNo = " + pager.PageFilter.SelectedDealerSysNo; } sqlWhere += @" and (@GroupSysNo is null or fe.GroupSysNo =@GroupSysNo) and (@Status=-1 or fe.Status =@Status) and ((@LinkTitle='' or fe.LinkTitle like @LinkTitle1) or (@Name='' or fe.Name like @Name1))"; if (para.StartTime != null && para.StartTime != DateTime.MinValue) { sqlWhere += " and fe.BeginDate >= @beginDate "; } if (para.EndTime != null && para.EndTime != DateTime.MinValue) { sqlWhere += " and fe.EndDate <= @endDate "; } #endregion using (var context = Context.UseSharedConnection(true)) { if (para.StartTime == null || para.StartTime == DateTime.MinValue) { para.StartTime = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; } if (para.EndTime == null || para.EndTime == DateTime.MinValue) { para.EndTime = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; } pager.Rows = context.Select <CBFeAdvertItem>("fe.*,fg.Type,d.DealerName") .From(@"FeAdvertItem fe LEFT JOIN FeAdvertGroup fg ON fe.GroupSysNo=fg.SysNO left join DsDealer d on fe.DealerSysNo = d.SysNo") .Where(sqlWhere) .Parameter("DealerSysNo", pager.PageFilter.DealerSysNo) .Parameter("DealerCreatedBy", pager.PageFilter.DealerCreatedBy) .Parameter("GroupSysNo", pager.PageFilter.GroupSysNo) .Parameter("Status", pager.PageFilter.Status) .Parameter("LinkTitle", (pager.PageFilter.LinkTitle ?? "")) .Parameter("LinkTitle1", "%" + (pager.PageFilter.LinkTitle ?? "") + "%") .Parameter("Name", (pager.PageFilter.Name ?? "")) .Parameter("Name1", "%" + (pager.PageFilter.Name ?? "") + "%") .Parameter("beginDate", para.StartTime.ToString()) .Parameter("endDate", para.EndTime.ToString()) .Paging(pager.CurrentPage, pager.PageSize).OrderBy("fe.DisplayOrder desc").QueryMany(); pager.TotalRows = context.Select <int>("count(1)") .From(@"FeAdvertItem fe LEFT JOIN FeAdvertGroup fg ON fe.GroupSysNo=fg.SysNO left join DsDealer d on fe.DealerSysNo = d.SysNo") .Where(sqlWhere) .Parameter("DealerSysNo", pager.PageFilter.DealerSysNo) .Parameter("DealerCreatedBy", pager.PageFilter.DealerCreatedBy) .Parameter("GroupSysNo", pager.PageFilter.GroupSysNo) .Parameter("Status", pager.PageFilter.Status) .Parameter("LinkTitle", (pager.PageFilter.LinkTitle ?? "")) .Parameter("LinkTitle1", "%" + (pager.PageFilter.LinkTitle ?? "") + "%") .Parameter("Name", (pager.PageFilter.Name ?? "")) .Parameter("Name1", "%" + (pager.PageFilter.Name ?? "") + "%") .Parameter("beginDate", para.StartTime) .Parameter("endDate", para.EndTime) .QuerySingle(); } return(pager); }