ColumnCache.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using CB.Cache;
  5. using CB.Entity;
  6. namespace CB.Data
  7. {
  8. public partial class Caches
  9. {
  10. /// <summary>
  11. /// 获取专栏列表
  12. /// </summary>
  13. /// <returns></returns>
  14. public static IList<ColumnInfo> GetColumnList()
  15. {
  16. var list = CB.Cache.CBCache.GetCacheService().GetObject(CB.Cache.CacheKeys.ColumnList) as IList<ColumnInfo>;
  17. if (null == list)
  18. {
  19. list = CB.Data.ColumnService.ToList();
  20. CB.Cache.CBCache.GetCacheService().AddObject(CB.Cache.CacheKeys.ColumnList, list);
  21. }
  22. return list;
  23. }
  24. /// <summary>
  25. /// 根据专栏ID获取专栏信息
  26. /// </summary>
  27. /// <param name="id"></param>
  28. /// <returns></returns>
  29. public static ColumnInfo GetColumnInfo(int id)
  30. {
  31. var list = GetColumnList();
  32. if (null == list || 0 >= list.Count)
  33. return null;
  34. ColumnInfo entity = null;
  35. foreach (var item in list)
  36. {
  37. if (id == item.Id && 0 < item.Status)
  38. {
  39. entity = item; break;
  40. }
  41. }
  42. return entity;
  43. }
  44. /// <summary>
  45. /// 根据专栏URL重写获取专栏信息
  46. /// </summary>
  47. /// <param name="rewriteUrl"></param>
  48. /// <returns></returns>
  49. public static ColumnInfo GetColumnInfo(string rewriteUrl)
  50. {
  51. var list = GetColumnList();
  52. if (null == list || 0 >= list.Count)
  53. return null;
  54. ColumnInfo entity = null;
  55. foreach (var item in list)
  56. {
  57. if (rewriteUrl == item.RewriteUrl && 0 < item.Status)
  58. {
  59. entity = item; break;
  60. }
  61. }
  62. return entity;
  63. }
  64. /// <summary>
  65. /// 获取所属彩种所有专栏
  66. /// </summary>
  67. /// <param name="lottery"></param>
  68. /// <returns></returns>
  69. public static IList<ColumnInfo> GetColumnList(string lottery)
  70. {
  71. var list = GetColumnList();
  72. if (null == list || 0 >= list.Count)
  73. return null;
  74. IList<ColumnInfo> r = new List<ColumnInfo>();
  75. foreach (var item in list)
  76. {
  77. if (item.Lottery.Equals(lottery, StringComparison.CurrentCultureIgnoreCase))
  78. { r.Add(item); }
  79. }
  80. return r;
  81. }
  82. /// <summary>
  83. /// 获取所属彩种热门专栏
  84. /// </summary>
  85. /// <param name="topSize"></param>
  86. /// <returns></returns>
  87. public static IList<ColumnInfo> GetHotColumnList(string lottery)
  88. {
  89. var list = GetColumnList(lottery);
  90. if (null == list || 0 >= list.Count)
  91. return null;
  92. return list.OrderByDescending(item => item.Status).ToList();
  93. }
  94. }
  95. }