public async Task <OrderDto> Handle(GetOrderByIdQuery query, CancellationToken cancellationToken)
        {
            var order = await _dbContext.Orders
                        .AsNoTracking()
                        .Include(x => x.Items).ThenInclude(x => x.Product)
                        .FirstOrDefaultAsync(x => x.Id == query.Id);

            if (order == null)
            {
                throw new EntityNotFoundException();
            }

            var dto = _mapper.Map <OrderDto>(order);

            dto.Total = _orderDomainService.GetTotal(order, _deliveryService.CalculateDeliveryCost);

            return(dto);
        }