private List <ControlPermission> ParseControlPermissions(XmlNode xmlNode)
        {
            List <ControlPermission> result = new List <ControlPermission>();

            XmlNodeList xmlNodesControls = xmlNode.SelectNodes("Control");

            foreach (XmlNode xmlNodePage in xmlNodesControls)
            {
                string idControl = xmlNodePage.Attributes["Id"].Value;
                int    idPermission;

                if (int.TryParse(xmlNodePage.Attributes["Permission"].Value, out idPermission))
                {
                    Permission permission = this.Permissions[idPermission];

                    if (permission != null)
                    {
                        ControlPermission controlPermission = new ControlPermission(idControl, permission);

                        result.Add(controlPermission);
                    }
                }
            }

            return(result);
        }
示例#2
0
        public ControlPermission GetCacheControlPermission(int controlId)
        {
            ControlPermission             _permission = new ControlPermission();
            Predicate <ControlPermission> p           = delegate(ControlPermission p2) { return(p2.ControlId == controlId); };

            _permission = GetAllControlsPermissions().Find(p);
            return(_permission);
        }