public async Task <List <ReaderViewModel> > Get() { var query = new GetAllReadersRequest(); var result = await this.mediatr.Send(query); return(result); }
public async Task <List <ReaderViewModel> > Handle(GetAllReadersRequest request, CancellationToken cancellationToken) { var readersIds = await this.readersRepository.GetAllIdsAsync(); var guids = readersIds.Select(x => x.Id.ToString()).ToList(); var usersDisplayNameAsync = await this.graphRepository.GetUsersDisplayNameAsync(guids); var viewModels = usersDisplayNameAsync .Where(gvm => guids.Contains(gvm.Id)) .Select(vm => new ReaderViewModel(vm.Id, vm.DisplayName)).ToList(); return(viewModels); }