MenuManager.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using MECF.Framework.Common.Account.Extends;
  2. using System.Collections.Generic;
  3. namespace OpenSEMI.ClientBase
  4. {
  5. public class MenuManager
  6. {
  7. public List<AppMenu> MenuItems
  8. {
  9. get;
  10. private set;
  11. }
  12. public void LoadMenu(List<AppMenu> menuitems)
  13. {
  14. foreach (AppMenu menuitem in menuitems)
  15. {
  16. if (menuitem.MenuItems != null)
  17. {
  18. for (int num = menuitem.MenuItems.Count - 1; num >= 0; num--)
  19. {
  20. AppMenu appMenu = menuitem.MenuItems[num];
  21. appMenu.Parent = menuitem;
  22. if (appMenu.Permission == 1)
  23. {
  24. menuitem.MenuItems.Remove(appMenu);
  25. }
  26. }
  27. }
  28. }
  29. MenuItems = menuitems;
  30. }
  31. public void FilterMenus(List<string> pSystems)
  32. {
  33. if (pSystems != null && MenuItems != null)
  34. {
  35. foreach (AppMenu menuItem in MenuItems)
  36. {
  37. if (menuItem.MenuItems != null)
  38. {
  39. for (int num = menuItem.MenuItems.Count - 1; num >= 0; num--)
  40. {
  41. AppMenu appMenu = menuItem.MenuItems[num];
  42. }
  43. }
  44. }
  45. }
  46. }
  47. private bool IsExist(List<string> pSource, string pMatch)
  48. {
  49. foreach (string item in pSource)
  50. {
  51. if (pMatch.IndexOf(item) >= 0)
  52. {
  53. return true;
  54. }
  55. }
  56. return false;
  57. }
  58. public List<AppMenu> GetAllClone()
  59. {
  60. if (MenuItems == null)
  61. {
  62. return null;
  63. }
  64. List<AppMenu> list = new List<AppMenu>();
  65. foreach (AppMenu menuItem in MenuItems)
  66. {
  67. list.Add((AppMenu)menuItem.Clone(menuItem.Parent));
  68. }
  69. return list;
  70. }
  71. }
  72. }