Exemple #1
0
        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();
            }));
        }
Exemple #2
0
        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));
            }
        }