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); }