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