0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-07-02 03:22:57 +00:00
CleanArchitecture/CleanArchitecture.gRPC/Contexts/UsersContext.cs
2023-03-23 18:37:24 +01:00

36 lines
937 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CleanArchitecture.gRPC.Interfaces;
using CleanArchitecture.Proto.Users;
using CleanArchitecture.Shared.Users;
namespace CleanArchitecture.gRPC.Contexts;
public sealed class UsersContext : IUsersContext
{
private readonly UsersApi.UsersApiClient _client;
public UsersContext(UsersApi.UsersApiClient client)
{
_client = client;
}
public async Task<IEnumerable<UserViewModel>> GetUsersByIds(IEnumerable<Guid> ids)
{
var request = new GetByIdsRequest();
request.Ids.AddRange(ids.Select(id => id.ToString()));
var result = await _client.GetByIdsAsync(request);
return result.Users.Select(user => new UserViewModel(
Guid.Parse(user.Id),
user.Email,
user.FirstName,
user.LastName,
user.IsDeleted));
}
}