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

            jsonBody.Remove("ProductsInStocks");

            ProductStocks productStocks = jsonBody.ToObject <ProductStocks>(); // the job card object\



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

            foreach (JToken token in tokens)
            {
                JToken productJson = token.Children().First();

                ProductInProductStocks productInstance = productJson.ToObject <ProductInProductStocks>();
                // get the product and update it
                Product product = db.Products.Find(productInstance.ProductId);
                if (product == null)
                {
                    return(NotFound());
                }

                product.StocksQuantity  = productInstance.QuantityRecieved + product.StocksQuantity;
                db.Entry(product).State = EntityState.Modified;
            }

            db.SaveChanges();

            return(StatusCode(HttpStatusCode.Created));
        }
コード例 #2
0
        public IHttpActionResult AddStocks(JObject jsonBody)
        {
            JObject products = (JObject)jsonBody["ProductsInStocks"]; // this variable must be present in the javascript

            jsonBody.Remove("ProductsInStocks");

            ProductStocks productStocks = jsonBody.ToObject <ProductStocks>(); // the job card object\

            productStocks.ApplicationUserId = User.Identity.GetUserId();

            db.Stocks.Add(productStocks);

            db.SaveChanges();                                    // save it to db, to get the new stock id for further processing

            int productStocksId = productStocks.ProductStocksId; // 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();
                ProductInProductStocks productInstance = productJson.ToObject <ProductInProductStocks>();
                productInstance.ProductStocksId = productStocksId;
                // add a products in stock entry.
                db.ProductsInProductStocks.Add(productInstance);

                // increase quantity in the products table

                Product product = db.Products.Find(productInstance.ProductId);
                product.StocksQuantity = product.StocksQuantity + productInstance.QuantityRecieved;

                db.Entry(product).State = EntityState.Modified;
            }

            db.SaveChanges();
            return(StatusCode(HttpStatusCode.Created));
        }