/// <summary> /// 视频项分页列表 /// </summary> /// <param name="requset">查询参数</param> public PagedList <VideoItemExt> GetExtPaging(VideoItemQueryRequest requset) { const string sqlFrom = "FeVideoItem i INNER JOIN FeVideo v ON i.VideoSysNo = v.SysNo"; var dataList = DBContext.Select <VideoItemExt>("i.*,CONCAT(v.Title,' ',i.`Name`) as NameExt").From(sqlFrom); var dataCount = DBContext.Select <int>("count(0)").From(sqlFrom); //条件查询委托 Action <string, string, object> setWhere = (@where, name, value) => { dataList.AndWhere(where).Parameter(name, value); dataCount.AndWhere(where).Parameter(name, value); }; if (requset.VideoStatus.HasValue) { setWhere("v.Status = @VideoStatus", "VideoStatus", requset.VideoStatus); } if (requset.VideoType.HasValue) { setWhere("v.Type = @VideoType", "VideoType", requset.VideoType); } if (requset.VideoItemStatus.HasValue) { setWhere("i.Status = @VideoItemStatus", "VideoItemStatus", requset.VideoItemStatus); } if (!string.IsNullOrEmpty(requset.VideoName)) { setWhere("(v.Title like CONCAT('%',@VideoName,'%') or i.`Name` like CONCAT('%',@VideoName,'%'))", "VideoName", requset.VideoName); } if (requset.VideoSysNo.HasValue) { setWhere("i.VideoSysNo = @VideoSysNo", "VideoSysNo", requset.VideoSysNo); } var list = new PagedList <VideoItemExt> { TData = dataList.Paging(requset.CurrentPageIndex.GetHashCode(), requset.PageSize.GetHashCode()).OrderBy("v.DisplayOrder,i.DisplayOrder").QueryMany(), CurrentPageIndex = requset.CurrentPageIndex.GetHashCode(), TotalCount = dataCount.QuerySingle(), }; return(list); }
/// <summary> /// 视频项分页列表 /// </summary> /// <param name="requset">查询参数</param> public PagedList <VideoItemExt> GetExtPaging(VideoItemQueryRequest requset) { return(Using <IVideoItem>().GetExtPaging(requset)); }