123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Xml.Linq;
- namespace MECF.Framework.Common.Account.Extends
- {
- public class MenuLoader : XmlLoader
- {
- public List<AppMenu> MenuList
- {
- get { return _Menulist; }
- set { _Menulist = value; }
- }
- public MenuLoader(string p_strPath)
- : base(p_strPath)
- {
- }
- protected override void AnalyzeXml()
- {
- if (this.m_xdoc != null)
- {
- List<AppMenu> menulist = TranslateMenus(this.m_xdoc.Root);
- this._Menulist = menulist;
- }
- }
- private List<AppMenu> TranslateMenus(XElement pElement)
- {
- List<AppMenu> Menulist = new List<AppMenu>();
- var results = from r in pElement.Elements("menuItem") select r;
- foreach (var result in results)
- {
- string strMenuID = string.Empty;
- string strMenuViewMode = string.Empty;
- string strMenuResKey = string.Empty;
- if (!result.HasElements)
- {
- strMenuID = result.Attribute("id").Value;
- strMenuViewMode = result.Attribute("viewmodel").Value;
- strMenuResKey = result.Attribute("resKey").Value;
- AppMenu item = new AppMenu(strMenuID, strMenuViewMode, strMenuResKey, null);
- if (result.Attribute("System") != null)
- item.System = result.Attribute("System").Value;
- if (result.Attribute("parentKey") != null)
- item.ParentKey = result.Attribute("parentKey").Value;
- if (result.Attribute("AlarmModule") != null)
- item.AlarmModule = result.Attribute("AlarmModule").Value;
- Menulist.Add(item);
- if (result.Attribute("type") != null)
- item.Type = result.Attribute("type").Value;
- }
- else
- {
- strMenuID = result.Attribute("id").Value;
- strMenuResKey = result.Attribute("resKey").Value;
- List<AppMenu> subMenuList = new List<AppMenu>();
- subMenuList = TranslateMenus(result);
- AppMenu item = new AppMenu(strMenuID, strMenuViewMode, strMenuResKey, subMenuList);
- if (result.Attribute("System") != null)
- item.System = result.Attribute("System").Value;
- if (result.Attribute("parentKey") != null)
- item.ParentKey = result.Attribute("parentKey").Value;
- if (result.Attribute("AlarmModule") != null)
- item.AlarmModule = result.Attribute("AlarmModule").Value;
- if (result.Attribute("type") != null)
- item.Type = result.Attribute("type").Value;
- Menulist.Add(item);
- }
- }
- return Menulist;
- }
- private List<AppMenu> _Menulist = new List<AppMenu>();
- }
- }
|