public FunctionMap() { InitializeComponent(); XmlDocument doc = new XmlDocument(); doc.Load(System.Configuration.ConfigurationManager.AppSettings["Menu"].ToString()); List <FuncMapItem> Items = new List <FuncMapItem>(); foreach (XmlNode node in doc.SelectNodes("/MenusGroup/Menu/Menu")) { FuncMapItem item = new FuncMapItem(); Items.Add(item); item.Header = NodeTag.Create(node); Build(node, item); } foreach (var item in Items) { var control = new BugsBox.Pharmacy.AppClient.UserControls.FuncMapItemControl(item); flowLayoutPanel1.Controls.Add(control); } this.SizeChanged += FunctionMap_SizeChanged; }
private void Build(XmlNode node, FuncMapItem item) { var hasPermission = false; foreach (XmlNode childNode in node.ChildNodes) { if (childNode.HasChildNodes) { Build(childNode, item); } else { var nodeTag = NodeTag.Create(childNode); if (!string.IsNullOrWhiteSpace(nodeTag.ModuleKey)) { hasPermission = PharmacyAuthorizeExtesions.Authorize(this, nodeTag.ModuleKey); } if (hasPermission) { item.Children.Add(nodeTag); } } } }