/// <summary> /// LuceneNet分页输出 /// </summary> private string CreateSmarkPageList(LuceneResultNode result, LiveSearchFilter filter, bool isEx) { var key = new VideoNodeKey(filter.platform, 0, filter.auth); var xml = new XElement("vlist"); xml.Add(new XElement("count", result.AllCount)); xml.Add(new XElement("page_count", PageUtils.PageCount(result.AllCount, filter.c))); xml.Add(new XElement("countInPage", filter.c)); xml.Add(new XElement("page", filter.s)); xml.Add(from v in result.Result select VideoResponseUtils.CustomLiveListRes(LiveListCache.Instance.Dictionary[int.Parse(v)], filter, 0, isEx)); return(xml.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// LuceneNet分页输出 /// </summary> private static string CreateSmarkPageList(LuceneResultNode result, RelevanceFilter filter, VideoPars pars, bool isEx) { var xml = new XElement("vlist"); var count = result.AllCount - 1; if (count < 0) { count = 0; } xml.Add(new XElement("count", count)); //xml.Add(new XElement("page_count", PageUtils.PageCount(result.AllCount, filter.c))); //xml.Add(new XElement("countInPage", filter.c)); //xml.Add(new XElement("page", filter.s)); for (var i = 1; i < result.AllCount; i++) { xml.Add(pars.ResponseFun(ListCache.Instance.Dictionary[int.Parse(result.Result[i])], filter, isEx)); } return(xml.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// LuceneNet分页输出 /// </summary> private static string CreateSmarkPageList(LuceneResultNode result, ListFilter filter, VideoPars pars, bool isEx) { var xml = new XElement("vlist"); xml.Add(new XElement("count", result.AllCount)); xml.Add(new XElement("page_count", PageUtils.PageCount(result.AllCount, filter.c))); xml.Add(new XElement("countInPage", filter.c)); xml.Add(new XElement("page", filter.s)); if (filter.shownav == 1) { xml.Add(new XElement("nav", from type in result.Types select new XElement("type", new XAttribute("id", type.Key), new XAttribute("name", BoxTypeCache.Instance.Items[type.Key].Language[filter.lang].Title), new XAttribute("count", type.Value) ))); } xml.Add(from v in result.Result select pars.ResponseFun(ListCache.Instance.Dictionary[int.Parse(v)], filter, isEx)); return(xml.ToString(SaveOptions.DisableFormatting)); }
/// <summary> /// LuceneNet节目预告分页输出 /// </summary> private string CreateParadeSmarkPageList(LuceneResultNode result, LiveSearchFilter filter, bool isEx) { var vkey = new VideoNodeKey(filter.platform, 0, filter.auth); var parades = from parade in result.Result select ChannelLiveItemsCache.Instance.Items[int.Parse(parade)]; var query = from parade in parades group parade by parade.ChannelID; var list = query.ToList(); //var groupquery = query.Skip(filter.c * (filter.s - 1)).Take(filter.c); //var count = groupquery.Count(); var index = (filter.s - 1) * filter.c; var max = index + filter.c; if (max > list.Count) { max = list.Count; } var count = max - index; var xml = new XElement("vlist"); xml.Add(new XElement("count", count)); xml.Add(new XElement("page_count", PageUtils.PageCount(count, filter.c))); xml.Add(new XElement("countInPage", filter.c)); xml.Add(new XElement("page", filter.s)); for (var i = index; i < max; i++) { var group = list[i]; var v = VideoResponseUtils.CustomLiveListRes(LiveListCache.Instance.Dictionary[group.Key], filter, 0, isEx); var paraderoot = new XElement("parade_list"); foreach (var key in group) { paraderoot.Add(VideoResponseUtils.LiveListSearchParade(key, filter)); } v.Add(paraderoot); xml.Add(v); } return(xml.ToString(SaveOptions.DisableFormatting)); }