public ActionResult Data(string ownerGuid, ExecutorTypes ownerType)
        {
            NameValueCollection nvc = this.Request.Form;
            Dictionary <Guid, PermissionItem> changedPermissionItems = new Dictionary <Guid, PermissionItem>();

            //获取选中的radio值
            for (int i = 0; i < nvc.Count; i++)
            {
                string currentKey   = nvc.AllKeys[i];
                string currentValue = nvc[i];

                if (currentKey.StartsWith(SystemConst.PermissionItemValuePrefix) && currentKey.EndsWith("||0"))
                {
                    string settingName = currentKey.Substring(0, currentKey.Length - 1);

                    int    guidStartPos     = SystemConst.PermissionItemValuePrefix.Length;
                    int    seperatorPos     = currentKey.LastIndexOf(SystemConst.PermissionItemGuidValueSeperator);
                    int    valueStarPos     = seperatorPos + SystemConst.PermissionItemGuidValueSeperator.Length;
                    string settingKeyString = currentKey.Substring(guidStartPos, seperatorPos - guidStartPos);
                    Guid   settingkeyGuid   = new Guid(settingKeyString);
                    string settingValue     = nvc[settingName];
                    if (string.IsNullOrWhiteSpace(settingValue) == false)
                    {
                        int  permissionItemValue;
                        bool isSuccessful = int.TryParse(settingValue, out permissionItemValue);
                        if (isSuccessful == true)
                        {
                            //changedPermissionItems[settingKey] = permissionItemValue;
                            if (changedPermissionItems.ContainsKey(settingkeyGuid))
                            {
                                changedPermissionItems[settingkeyGuid].PermissionItemValue = permissionItemValue;
                            }
                            else
                            {
                                PermissionItem permissionItem =
                                    new PermissionItem(settingkeyGuid, permissionItemValue, BusinessUserBLL.CurrentUser.UserGuid, BusinessUserBLL.CurrentUser.UserType, Logics.False);
                                changedPermissionItems.Add(settingkeyGuid, permissionItem);
                            }
                        }
                    }
                }
            }

            foreach (var permissionItem in changedPermissionItems)
            {
                BusinessPermission currentItem = new BusinessPermission(permissionItem.Value);
                currentItem.OwnerKey       = ownerGuid.ToString();
                currentItem.OwnerType      = ownerType;
                currentItem.PermissionMode = PermissionModes.Allow;
                currentItem.PermissionKind = PermissionKinds.Data;

                BusinessPermissionBLL.Instance.CreateOrUpdate(currentItem);
            }

            return(Json(new LogicStatusInfo(true, "保存权限成功")));
        }
        public ActionResult Index(string ownerGuid, ExecutorTypes ownerType, PermissionModes permissionMode)
        {
            NameValueCollection nvc = this.Request.Form;
            Dictionary <Guid, PermissionItem> changedPermissionItems = new Dictionary <Guid, PermissionItem>();

            //获取选中的checkbox
            for (int i = 0; i < nvc.Count; i++)
            {
                string currentKey   = nvc.AllKeys[i];
                string currentValue = nvc[i];

                if (currentKey.StartsWith(SystemConst.PermissionItemValuePrefix) && currentValue.ToLower() == "on")
                {
                    int    guidStartPos              = SystemConst.PermissionItemValuePrefix.Length;
                    int    seperatorPos              = currentKey.LastIndexOf(SystemConst.PermissionItemGuidValueSeperator);
                    int    valueStarPos              = seperatorPos + SystemConst.PermissionItemGuidValueSeperator.Length;
                    string permissionItemGuidString  = currentKey.Substring(guidStartPos, seperatorPos - guidStartPos);
                    Guid   permissionItemGuid        = new Guid(permissionItemGuidString);
                    string permissionItemValueString = currentKey.Substring(valueStarPos);
                    int    permissionItemValue       = 0;
                    bool   isSuccessful              = int.TryParse(permissionItemValueString, out permissionItemValue);
                    if (isSuccessful == true)
                    {
                        if (changedPermissionItems.ContainsKey(permissionItemGuid))
                        {
                            changedPermissionItems[permissionItemGuid].PermissionItemValue |= permissionItemValue;
                        }
                        else
                        {
                            PermissionItem permissionItem =
                                new PermissionItem(permissionItemGuid, permissionItemValue, BusinessUserBLL.CurrentUser.UserGuid, BusinessUserBLL.CurrentUser.UserType, Logics.False);
                            changedPermissionItems.Add(permissionItemGuid, permissionItem);
                        }
                    }
                }
            }

            foreach (var permissionItem in changedPermissionItems)
            {
                BusinessPermission currentItem = new BusinessPermission(permissionItem.Value);
                currentItem.OwnerKey       = ownerGuid.ToString();
                currentItem.OwnerType      = ownerType;
                currentItem.PermissionMode = permissionMode;
                currentItem.PermissionKind = PermissionKinds.Operating;

                BusinessPermissionBLL.Instance.CreateOrUpdate(currentItem);
            }

            return(Json(new LogicStatusInfo(true, "保存权限成功")));
        }