RouteHelper.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using CP.Model;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6. using CP.Common;
  7. using System.Configuration;
  8. using System.Linq.Expressions;
  9. namespace CP.Kjh.Models
  10. {
  11. public class RouteHelper
  12. {
  13. #region 配置
  14. private static readonly Lazy<List<RouteModel>> routeList = new Lazy<List<RouteModel>>(() =>
  15. {
  16. var data = OtherHelper.ConvertXMLToObject<RouteModel>(HttpContext.Current.Server.MapPath($@"{ConfigurationManager.AppSettings["RouteXml"]}"));
  17. data.ForEach(p =>
  18. {
  19. if (p.ViewNewName.IsEmpty())
  20. p.ViewNewName = p.OldName;
  21. });
  22. return data;
  23. });
  24. private static readonly Lazy<List<RouteModel>> homeRouteList = new Lazy<List<RouteModel>>(() => OtherHelper.ConvertXMLToObject<RouteModel>(HttpContext.Current.Server.MapPath($@"{ConfigurationManager.AppSettings["HomeRouteXml"]}")));
  25. /// <summary>
  26. /// 彩种类型配置数据
  27. /// </summary>
  28. public static List<RouteModel> RouteList { get { return routeList.Value; } }
  29. /// <summary>
  30. /// 首页的路由配置数据
  31. /// </summary>
  32. public static List<RouteModel> HomeRouteList { get { return homeRouteList.Value; } }
  33. #endregion
  34. /// <summary>
  35. /// 得到新版类型名称
  36. /// </summary>
  37. /// <param name="oldTypeName"></param>
  38. /// <returns></returns>
  39. public static string GetNewTypeName(string oldTypeName)
  40. {
  41. var list = RouteList.Where(p => p.OldName == oldTypeName).ToList();
  42. if (list.Count > 0)
  43. return list[0].NewName;
  44. return oldTypeName;
  45. }
  46. /// <summary>
  47. /// 得到旧版类型名称
  48. /// </summary>
  49. /// <param name="newTypeName"></param>
  50. /// <returns></returns>
  51. public static string GetOldTypeName(string newTypeName)
  52. {
  53. var list = RouteList.Where(p => p.NewName == newTypeName).ToList();
  54. if (list.Count > 0)
  55. return list[0].OldName;
  56. return newTypeName;
  57. }
  58. /// <summary>
  59. /// 得到路由集合
  60. /// </summary>
  61. /// <returns></returns>
  62. public static List<RouteModel> GetRouteList(CzTypeEnum? czTypeEnum)
  63. {
  64. if (czTypeEnum.HasValue)
  65. return RouteList.Where(p => p.CzTypeEnum == (int)czTypeEnum && p.IsShow == true).ToList();
  66. return RouteList;
  67. }
  68. /// <summary>
  69. /// 得到首页的路由集合
  70. /// </summary>
  71. /// <returns></returns>
  72. public static List<RouteModel> GetHomeRouteList()
  73. {
  74. return HomeRouteList;
  75. }
  76. }
  77. }