using Abp.Configuration; using Abp.Dependency; using VberZero.Configuration; using VberZero.Settings; namespace VberZero.Organizations; /// /// 实现 以从 获取设置。 /// public class OrganizationUnitSettings : IOrganizationUnitSettings, ITransientDependency { /// /// 获取用户的最大允许组织单位成员资格计数。 /// 返回当前租户的值。 /// public int MaxUserMembershipCount { get { return _settingManager.GetSettingValue(VzSettingNames.OrganizationUnits.MaxUserMembershipCount); } } private readonly ISettingManager _settingManager; public OrganizationUnitSettings(ISettingManager settingManager) { _settingManager = settingManager; } /// /// 获取用户的最大允许组织单位成员资格计数。 /// 返回当前租户的值。 /// public async Task GetMaxUserMembershipCountAsync(int? tenantId) { if (tenantId.HasValue) { return await _settingManager.GetSettingValueForTenantAsync(VzSettingNames.OrganizationUnits.MaxUserMembershipCount, tenantId.Value); } else { return await _settingManager.GetSettingValueForApplicationAsync(VzSettingNames.OrganizationUnits.MaxUserMembershipCount); } } /// /// 获取用户的最大允许组织单位成员资格计数。 /// 返回当前租户的值。 /// public int GetMaxUserMembershipCount(int? tenantId) { if (tenantId.HasValue) { return _settingManager.GetSettingValueForTenant(VzSettingNames.OrganizationUnits.MaxUserMembershipCount, tenantId.Value); } else { return _settingManager.GetSettingValueForApplication(VzSettingNames.OrganizationUnits.MaxUserMembershipCount); } } public async Task SetMaxUserMembershipCountAsync(int? tenantId, int value) { if (tenantId.HasValue) { await _settingManager.ChangeSettingForTenantAsync(tenantId.Value, VzSettingNames.OrganizationUnits.MaxUserMembershipCount, value.ToString()); } else { await _settingManager.ChangeSettingForApplicationAsync(VzSettingNames.OrganizationUnits.MaxUserMembershipCount, value.ToString()); } } public void SetMaxUserMembershipCount(int? tenantId, int value) { if (tenantId.HasValue) { _settingManager.ChangeSettingForTenant(tenantId.Value, VzSettingNames.OrganizationUnits.MaxUserMembershipCount, value.ToString()); } else { _settingManager.ChangeSettingForApplication(VzSettingNames.OrganizationUnits.MaxUserMembershipCount, value.ToString()); } } }