0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-29 18:21:08 +00:00
CleanArchitecture/CleanArchitecture.gRPC/Contexts/TenantsContext.cs
2024-12-08 22:51:08 +01:00

33 lines
993 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CleanArchitecture.gRPC.Interfaces;
using CleanArchitecture.Proto.Tenants;
using CleanArchitecture.Shared.Tenants;
namespace CleanArchitecture.gRPC.Contexts;
public sealed class TenantsContext : ITenantsContext
{
private readonly TenantsApi.TenantsApiClient _client;
public TenantsContext(TenantsApi.TenantsApiClient client)
{
_client = client;
}
public async Task<IEnumerable<TenantViewModel>> GetTenantsByIds(IEnumerable<Guid> ids)
{
var request = new GetTenantsByIdsRequest();
request.Ids.AddRange(ids.Select(id => id.ToString()));
var result = await _client.GetByIdsAsync(request);
return result.Tenants.Select(tenant => new TenantViewModel(
Guid.Parse(tenant.Id),
tenant.Name,
string.IsNullOrWhiteSpace(tenant.DeletedAt) ? null : DateTimeOffset.Parse(tenant.DeletedAt)));
}
}