public async Task <List <User> > Handle(GetDriversQuery request, CancellationToken cancellationToken) { var countEntities = await _userRepository.GetCountEntities(); return(await _memoryCache.GetOrCreate(countEntities.ToString(), async options => { var users = await _userRepository.GetDriversAsync(); if (users == null) { throw new NotFoundException(); } return users.Select(i => i.ToQueryUser()).ToList(); })); }
public async Task <IActionResult> GetDrivers(int number) { try { var request = new GetDriversQuery { NumDrivers = number }; var result = await Mediator.Send(request); return(Ok(result)); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }