public async Task <(IEnumerable <OrderDTO> OrdersForResponse, int FilteredOrdersCount)> GetOrdersAsync(int?skip             = null, int?take = null, bool?ascending = null, DateTime?orderDateFrom = null,
                                                                                                               DateTime?orderDateTo = null, DateTime?deliveryDateFrom = null, DateTime?deliveryDateTo = null, bool?isApproved = null, bool?isDelivered = null)
        {
            var query = orderRepository.GetAll();

            if (ascending != null)
            {
                query = (bool)ascending ? query.OrderBy(o => o.Id) : query.OrderByDescending(o => o.Id);
            }

            if (orderDateFrom != null)
            {
                query = query.Where(o => o.OrderDate >= orderDateFrom);
            }

            if (orderDateTo != null)
            {
                query = query.Where(o => o.OrderDate <= orderDateTo);
            }

            if (deliveryDateFrom != null)
            {
                query = query.Where(o => o.DeliveryDate >= deliveryDateFrom);
            }

            if (deliveryDateTo != null)
            {
                query = query.Where(o => o.DeliveryDate <= deliveryDateTo);
            }

            if (isApproved != null)
            {
                query = query.Where(o => o.IsApproved == isApproved);
            }

            if (isDelivered != null)
            {
                query = query.Where(o => o.IsDelivered == isDelivered);
            }

            var filteredOrdersCount = query.Count();

            if (skip != null)
            {
                query = query.Skip(skip.Value);
            }

            if (take != null)
            {
                query = query.Take(take.Value);
            }

            var orders = await query.ToListAsync();

            return(StoreMapper.FromOrdersToOrdersDTO(orders), filteredOrdersCount);
        }
        public async Task <OrderDTO> GetOrderAsync(int idOrder)
        {
            var order = await orderRepository.GetAsync(idOrder);

            return(StoreMapper.FromOrderToOrderDTO(order));
        }