Exemplo n.º 1
0
        public string UpdatePermission(string key)
        {
            string[] array;
            array = key.Split('&');
            string[] arrkey;
            Dictionary <string, object> keyvalue = new Dictionary <string, object>();

            foreach (string i in array)
            {
                arrkey = i.ToString().Split('=');
                keyvalue.Add(arrkey[0], arrkey[1]);
            }
            if (!keyvalue.ContainsKey("parentid"))
            {
                return("000001");  //模块父ID为空,返回失败。
            }

            where.Add("ParentId", keyvalue["parentid"]);
            List <AdminMenuModule> MenuList = MenuModuleBLL.GetAll(where);

            foreach (AdminMenuModule Module in MenuList)
            {
                string add            = string.Format("add{0}", Module.ModuleId);
                string edit           = string.Format("edit{0}", Module.ModuleId);
                string del            = string.Format("del{0}", Module.ModuleId);
                string look           = string.Format("look{0}", Module.ModuleId);
                int    adminid        = 0;
                int    groupid        = 0;
                string permissionType = "";

                if (keyvalue.ContainsKey("adminid"))
                {
                    adminid = Int32.Parse(keyvalue["adminid"].ToString());
                }

                if (keyvalue.ContainsKey("groupid"))
                {
                    groupid = Int32.Parse(keyvalue["groupid"].ToString());
                }

                int menuid = Int32.Parse(Module.ModuleId.ToString());

                if (keyvalue.ContainsKey("m_type"))
                {
                    permissionType = keyvalue["m_type"].ToString();
                }

                Permission.ClearPermission(adminid, groupid, menuid, permissionType);

                if (keyvalue.ContainsKey(add))
                {
                    int addfunc = Int32.Parse(keyvalue[add].ToString());
                    Permission.CreatePermissionAndFunction(adminid, groupid, menuid, permissionType, addfunc);
                }
                if (keyvalue.ContainsKey(edit))
                {
                    int editfunc = Int32.Parse(keyvalue[edit].ToString());
                    Permission.CreatePermissionAndFunction(adminid, groupid, menuid, permissionType, editfunc);
                }
                if (keyvalue.ContainsKey(del))
                {
                    int delfunc = Int32.Parse(keyvalue[del].ToString());
                    Permission.CreatePermissionAndFunction(adminid, groupid, menuid, permissionType, delfunc);
                }
                if (keyvalue.ContainsKey(look))
                {
                    int lookfunc = Int32.Parse(keyvalue[look].ToString());
                    Permission.CreatePermissionAndFunction(adminid, groupid, menuid, permissionType, lookfunc);
                }
            }
            return("000000");
        }