public async Task <IActionResult> GetOrders()
        {
            // Usually, you would get userid from an access token, for example. This is hardcoded for simplicity.
            long userID = 1;

            var xOrders = await mOrderClient.GetOrdersByUserID(userID);

            var orders = new List <GetOrderResponse>();

            foreach (var order in xOrders)
            {
                var getproductTasks = order.OrderItems.Select(oi => mProductClient.GetProductAsync(oi.ProductID)).ToList();

                var orderItems = new List <GetOrderResponseItem>();
                for (int i = 0; i < getproductTasks.Count; i++)
                {
                    var product = await getproductTasks[i];

                    orderItems.Add(new GetOrderResponseItem(
                                       id: order.OrderItems[i].ID,
                                       productID: product.ID,
                                       productName: product.Name,
                                       price: product.Price,
                                       quantity: order.OrderItems[i].Quantity
                                       ));
                }

                orders.Add(new GetOrderResponse(
                               id: order.ID,
                               totalPrice: orderItems.Sum(ci => ci.Price * ci.Quantity),
                               address: order.Address,
                               deliveryMethod: order.DeliveryMethod,
                               orderStatus: order.OrderStatus,
                               orderItems: orderItems
                               ));
            }

            return(Ok(orders));
        }