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());
}
}
}