/// <summary>
        /// 保存更改
        /// </summary>
        private void SaveChange()
        {
            PermissionConfig permissionConfig = new PermissionConfig();

            permissionConfig.SelectedStamp = string.Empty;

            for (int i = 0; i < chooseDatas.Count; i++)
            {
                if (i != chooseDatas.Count - 1)
                {
                    if (this.chooseDatas[i].choose)
                    {
                        permissionConfig.SelectedStamp += (this.chooseDatas[i].data.permision_index + ",");
                    }
                }
                else
                {
                    if (this.chooseDatas[i].choose)
                    {
                        permissionConfig.SelectedStamp += this.chooseDatas[i].data.permision_index;
                    }
                }
            }

            permissionConfig.SaveJson(mConfigSavedDir + mConfigSavedFileName);
        }
        public async Task <DocumentUpdateResultDto> CreateAsync(PermissionConfigDto dto)
        {
            await CheckForDuplicates(dto.Role);

            var permissionConfig = new PermissionConfig
            {
                Role        = dto.Role,
                Permissions = dto.Permissions ?? new List <string>()
            };

            var result = await _dataContext.CreateDocumentAsync(permissionConfig);

            await SendRoleUpdateMessageAsync(dto);

            return(result);
        }
示例#3
0
        public void LoadDefaults()
        {
            PermissionSetting = new PermissionConfig()
            {
                AllowAdmins       = false,
                permissionsConfig = new PermissionsConfig()
                {
                    CommandSupport = "chear.destek",

                    CommandList = "chear.destek.liste",

                    CommandGo = "chear.destek.git",

                    CommandRemove = "chear.destek.sil",

                    CommandInformation = "chear.destek.bilgi",

                    CommandNotification = "chear.destek.bildirimler"
                }
            };

            EffectSettings = new EffectModel()
            {
                Id = 1200,
                MinimumTextLimit  = 5,
                effectSoundsModel = new EffectSoundsModel()
                {
                    GettingId = 1201,
                    SendingId = 1202
                },
                effectButtonsModel = new EffectButtonsModel()
                {
                    BugName       = "BugBildirmeButton",
                    QuestionName  = "GenelSoruButton",
                    CheatingName  = "HileSikayetButton",
                    InsultingName = "HakaretButton",
                    OtherName     = "DigerButton",
                    ReportBoxName = "ReportTextBox"
                }
            };
        }
        /// <summary>
        /// Filter all permission configs not included in specified user permissions.
        /// </summary>
        /// <param name="permissionConfigEnumerable"></param>
        /// <param name="userPermissions"></param>
        /// <returns></returns>
        private IEnumerable<PermissionConfig> FilterPermissionConfigByUserPermission(IEnumerable<PermissionConfig> permissionConfigEnumerable, IEnumerable<PermissionObject> userPermissions)
        {
            List<PermissionConfig> results = new List<PermissionConfig>();
            foreach (PermissionConfig permissionConfig in permissionConfigEnumerable)
            {
                bool isEmptyPermissionValue = Kit.IsEmpty(permissionConfig.Value);
                if (!isEmptyPermissionValue && !ContainsPermissionValue(userPermissions, permissionConfig.Value))
                    continue;

                PermissionConfig newPermissionConfig = new PermissionConfig
                {
                    Permission = permissionConfig.Permission,
                    Text = permissionConfig.Text,
                    Value = permissionConfig.Value,
                };

                if (newPermissionConfig.Permission != null && newPermissionConfig.Permission.Length > 0)
                {
                    IEnumerable<PermissionConfig> subPermissionConfigs = FilterPermissionConfigByUserPermission(permissionConfig.Permission, userPermissions);
                    newPermissionConfig.Permission = subPermissionConfigs.ToArray();
                }

                if (isEmptyPermissionValue && (newPermissionConfig.Permission == null || newPermissionConfig.Permission.Length == 0))
                    continue;

                results.Add(newPermissionConfig);
            }

            return results;
        }
 public AccountController(PermissionConfig<Permission> permissionConfig)
 {
     _permissionConfig = permissionConfig;
 }