39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using Dlhis.User.Api;
|
|
using Dlhis.User.Api.Response;
|
|
using Kurisu.AspNetCore.Utils.Extensions;
|
|
using Kurisu.Core.Result;
|
|
using Kurisu.Core.User.Abstractions;
|
|
|
|
namespace Dlhis.Basic.Organization.Services.Implements;
|
|
|
|
public class WerkService : IWerkService
|
|
{
|
|
private readonly ICurrentUser _currentUser;
|
|
private readonly ITenantApi _tenantApi;
|
|
|
|
public WerkService(ICurrentUser currentUser, ITenantApi tenantApi)
|
|
{
|
|
_currentUser = currentUser;
|
|
_tenantApi = tenantApi;
|
|
}
|
|
|
|
public async Task<List<TenantResponse>> GetListAsync()
|
|
{
|
|
var tenantResult = await _tenantApi.GetTenantsAsync();
|
|
(tenantResult.Code == ApiStateCode.Success).ThrowIfFalse(tenantResult.Msg);
|
|
|
|
var tenants = tenantResult.Data;
|
|
return tenants;
|
|
}
|
|
|
|
public async Task<TenantResponse> GetCurrentAsync()
|
|
{
|
|
var tenant = _currentUser.GetStringTenantId();
|
|
var tenantResult = await _tenantApi.GetTenantsAsync();
|
|
(tenantResult.Code == ApiStateCode.Success).ThrowIfFalse(tenantResult.Msg);
|
|
|
|
var tenants = tenantResult.Data;
|
|
return tenants.FirstOrDefault(x => x.Code == tenant);
|
|
}
|
|
}
|