예제 #1
0
        /// <summary>
        /// 查看此角色是否被授予此权限

        /// </summary>
        public bool Permit(PREPermission right)
        {
            if (_myRights == "all")
            {
                return(true);
            }
            else
            {
                if (_rights == null)
                {
                    _rights = new List <PREPermission>();
                    if (!string.IsNullOrEmpty(_myRights))
                    {
                        foreach (string str in _myRights.Split(','))
                        {
                            int i;
                            if (int.TryParse(str, out i))
                            {
                                _rights.Add((PREPermission)i);
                            }
                        }
                    }
                }
                return(_rights.Exists(r => r == right));
            }
        }
예제 #2
0
 /// <summary>
 /// 查看此操作员是否被授予此权限
 /// </summary>
 public bool Permit(PREPermission right)
 {
     if (this.Role != null)
     {
         return(Role.Permit(right));
     }
     else
     {
         return(false);
     }
 }
예제 #3
0
        public static string GetDescription(PREPermission p)
        {
            switch (p)
            {
            case PREPermission.SystemSetting:
                return("系统设置");

            case PREPermission.PreferentialCore:
                return("优惠录入");

            case PREPermission.PreferentialCancel:
                return("优惠取消");

            case PREPermission.ReadWorkstations:
                return("查看工作站信息");

            case PREPermission.EditWorkstations:
                return("修改工作站信息");

            case PREPermission.ReadBusiness:
                return("查看商家信息");

            case PREPermission.EditBusiness:
                return("修改商家信息");

            case PREPermission.OperatorManager:
                return("操作员管理");

            case PREPermission.RoleManager:
                return("角色管理");

            case PREPermission.PreferentialReport:
                return("优惠记录");

            default:
                return(string.Empty);
            }
        }
예제 #4
0
        public void Init()
        {
            this.ImageList  = images;
            this.CheckBoxes = true;
            this.Nodes.Clear();
            TreeNode root = new TreeNode(RootText, 0, 0);

            this.Nodes.Add(root);
            List <TreeNode> catalogs     = new List <TreeNode>();
            Type            operatorEnum = typeof(PREPermission);

            FieldInfo[] fields = operatorEnum.GetFields();
            foreach (FieldInfo field in fields)
            {
                if (field.FieldType.IsEnum)
                {
                    object[] attrs = field.GetCustomAttributes(false);
                    foreach (object attr in attrs)
                    {
                        if (attr is OperatorRightAttribute)
                        {
                            OperatorRightAttribute right      = attr as OperatorRightAttribute;
                            PREPermission          permission = (PREPermission)field.GetValue(null);
                            //if (GlobalVariables.IsNETParkAndOffLie)
                            //{
                            //    //写卡模式,不显示的权限

                            //    if (permission == Permission.RemoteReadCard)
                            //    {
                            //        continue;
                            //    }
                            //}
                            //else
                            //{
                            //    //其他模式,不显示的权限

                            //    if (permission == Permission.DownloadAllCards)
                            //    {
                            //        continue;
                            //    }
                            //}

                            string   catalog     = Ralid.Park.BusinessModel.Resouce.PermissionDescription.GetPREDescription(right.Catalog);
                            TreeNode catalogNode = catalogs.Find(t => t.Text == catalog);
                            if (catalogNode == null)
                            {
                                catalogNode = new TreeNode(catalog, 0, 0);
                                root.Nodes.Add(catalogNode);
                                catalogs.Add(catalogNode);
                            }
                            string   temp      = Ralid.Park.BusinessModel.Resouce.PermissionDescription.GetDescription(permission);
                            TreeNode rightNode = new TreeNode(temp, 1, 1);
                            rightNode.Tag = permission;
                            catalogNode.Nodes.Add(rightNode);
                            _rightNodes.Add(rightNode);
                        }
                    }
                }
            }
            root.Expand();
            this.AfterCheck += Node_Checked;
        }