コード例 #1
0
        public HttpResponseMessage AddOrder(JObject jsonBody)
        {
            JObject products = (JObject)jsonBody["ProductsInPurchaseOrders"]; // this variable must be present in the javascript

            jsonBody.Remove("ProductsInPurchaseOrders");

            PurchaseOrder wholesaleOrder = jsonBody.ToObject <PurchaseOrder>(); // the job card object

            wholesaleOrder.AccountId = User.Identity.GetUserId();

            db.PurchaseOrders.Add(wholesaleOrder);

            db.SaveChanges();

            int wholesaleOrderId = wholesaleOrder.OrderId; // the foregin key to be used for the -> proudcts

            JEnumerable <JToken> tokens = (JEnumerable <JToken>)products.Children <JToken>();

            foreach (JToken token in tokens)
            {
                JToken productJson = token.Children().First();
                ProductInPurchaseOrder productInstance = productJson.ToObject <ProductInPurchaseOrder>();
                productInstance.PurchaseOrderId = wholesaleOrderId;
                db.ProductsInPurchaseOrders.Add(productInstance);
            }

            db.SaveChanges();
            return(this.Request.CreateResponse(HttpStatusCode.Created, wholesaleOrderId));
        }
コード例 #2
0
        public IHttpActionResult UpdateProductInWholesaleOrder(ProductInPurchaseOrder product)
        {
            if (!WholesaleOrderExists(product.PurchaseOrderId))
            {
                return(StatusCode(HttpStatusCode.NotModified));
            }
            // else
            db.Entry(product).State = EntityState.Modified;

            db.SaveChanges();

            return(StatusCode(HttpStatusCode.Created));
        }