Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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);
                    }
                }
            }
        }