using FoodLabeling.Th.Application.Contracts.Dtos.MultiTenancy;
using FoodLabeling.Th.Application.Contracts.IServices;
using Volo.Abp.Application.Services;
using Volo.Abp.MultiTenancy;
using Yi.Framework.TenantManagement.Application.Contracts;
using Yi.Framework.TenantManagement.Application.Contracts.Dtos;
namespace FoodLabeling.Th.Application.Services;
///
/// 泰额版多租户:租户下拉与当前租户上下文
///
public class ThMultiTenancyAppService : ApplicationService, IThMultiTenancyAppService
{
private readonly ITenantService _tenantService;
public ThMultiTenancyAppService(ITenantService tenantService)
{
_tenantService = tenantService;
}
///
public virtual async Task> GetTenantSelectAsync()
{
var page = await _tenantService.GetListAsync(new TenantGetListInput
{
SkipCount = 1,
MaxResultCount = 500
});
return page.Items
.Select(x => new ThTenantSelectDto { Id = x.Id, Name = x.Name })
.OrderBy(x => x.Name)
.ToList();
}
///
public virtual Task GetCurrentTenantAsync()
{
return Task.FromResult(new ThCurrentTenantDto
{
TenantId = CurrentTenant.Id,
TenantName = CurrentTenant.Name
});
}
}