Files
jinko.yikatong/Src/Dlhis.Basic/Organization/Services/Implements/WerkService.cs

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