1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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;
- Menulist.Add(item);
- }
- 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);
- Menulist.Add(item);
- }
- }
- return Menulist;
- }
- private List<AppMenu> _Menulist = new List<AppMenu>();
- }
- }
|