@lucky4

Как можно сократить код?

public async Task<IList<WishlistItemDto>> GetAllAsync(PageInfo pageInfo)
        {
            if (pageInfo.Page <= 0 || pageInfo.ItemsPerPage <= 0)
            {
                pageInfo.Page = 1;
                pageInfo.ItemsPerPage = 1;
            }

            int pageSize = 10;
            int pageNumber = (pageInfo.Page - 1) * pageInfo.ItemsPerPage;

            var items = await _wishListItemRepository.GetAllAsync(pageNumber, pageSize);

            var reversedList = (List<WishlistItemDto>)_mapper.Map<IList<WishlistItemDto>>(items);
            reversedList.Reverse();

            return reversedList;
        }


Мне не нравится вот это переменная reversedList. Как ее можно сразу в return загнать?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Сократить код не получится, тк он и так очень компактный
Номер страницы и размер страницы в PageInfo есть смысл контролировать снаружи, например в конструкторе или свойствах PageInfo
Offset и Limit имеет смысл вынести наружу - в екстеншены или в методы PageInfo
public async Task<IList<WishlistItemDto>> GetAllAsync(PageInfo pageInfo)
        {
            var items = await _wishListItemRepository.GetAllAsync(pageInfo.Offset(), pageInfo.Limit());
            return _mapper.Map<IList<WishlistItemDto>>(items).Reverse().ToList();
        }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы