public IActionResult Get([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                Order          order         = _context.Order.Include("ProductOrders.Product").Single(m => m.OrderID == id);
                List <Product> theseProducts = new List <Product>();
                foreach (ProductOrder productOrder in order.ProductOrders)
                {
                    theseProducts.Add(productOrder.Product);
                }
                List <ProductOnOrderJSON> jSONProducts = new List <ProductOnOrderJSON>();
                foreach (Product product in theseProducts)
                {
                    int index = jSONProducts.FindIndex(x => x.ProductID == product.ProductID);
                    if (index != -1)
                    {
                        jSONProducts[index].Quantity++;
                    }
                    else
                    {
                        ProductOnOrderJSON newProduct = new ProductOnOrderJSON()
                        {
                            ProductID = product.ProductID,
                            Name      = product.Title,
                            Price     = product.Price,
                            Quantity  = 1
                        };
                        jSONProducts.Add(newProduct);
                    }
                }
                OrderWithProductJSON orderWithProducts = new OrderWithProductJSON()
                {
                    OrderID       = order.OrderID,
                    CustomerID    = order.CustomerID,
                    PaymentTypeID = order.PaymentTypeID,
                    Products      = jSONProducts
                };
                if (order == null)
                {
                    return(NotFound());
                }

                return(Ok(orderWithProducts));
            }
            catch (System.InvalidOperationException ex)
            {
                return(NotFound(ex));
            }
        }
        public IActionResult Get([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                Orders         orders        = _context.Orders.Include("ProductOrders.Product").Single(m => m.OrderId == id);
                List <Product> theseProducts = new List <Product>();
                foreach (OrderProduct orderProduct in orders.ProductOrders)
                {
                    theseProducts.Add(orderProduct.Product);
                }
                List <ProductOnOrderJSON> jSONProducts = new List <ProductOnOrderJSON>();
                foreach (Product product in theseProducts)
                {
                    ProductOnOrderJSON newProduct = new ProductOnOrderJSON()
                    {
                        ProductId = product.ProductId,
                        Name      = product.Title,
                        Price     = product.Price,
                        Quantity  = 1
                    };
                    jSONProducts.Add(newProduct);
                }
                OrderWithProductJSON orderWithProducts = new OrderWithProductJSON()
                {
                    OrderId       = orders.OrderId,
                    CustomerId    = orders.CustomerId,
                    PaymentTypeId = orders.CustomerPaymentId,
                    Products      = jSONProducts
                };
                if (orders == null)
                {
                    return(NotFound());
                }

                return(Ok(orderWithProducts));
            }
            catch (System.InvalidOperationException ex)
            {
                return(NotFound(ex));
            }
        }