Beispiel #1
0
        public IHttpActionResult PutMaterialInProduct(int id, MaterialInProduct materialInProduct)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != materialInProduct.MaterialInProductId)
            {
                return(BadRequest());
            }

            db.Entry(materialInProduct).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MaterialInProductExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
        public IHttpActionResult GetMaterialInProduct(int id)
        {
            MaterialInProduct materialInProduct = db.MaterialInProducts.Find(id);

            if (materialInProduct == null)
            {
                return(NotFound());
            }

            return(Ok(materialInProduct));
        }
Beispiel #3
0
        public IHttpActionResult PostMaterialInProduct(MaterialInProduct materialInProduct)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.MaterialInProducts.Add(materialInProduct);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = materialInProduct.MaterialInProductId }, materialInProduct));
        }
Beispiel #4
0
        public IHttpActionResult DeleteMaterialInProduct(int id)
        {
            MaterialInProduct materialInProduct = db.MaterialInProducts.Find(id);

            if (materialInProduct == null)
            {
                return(NotFound());
            }

            db.MaterialInProducts.Remove(materialInProduct);
            db.SaveChanges();

            return(Ok(materialInProduct));
        }
        public IHttpActionResult AddProduct(JObject jsonBody)
        {
            JObject specifications = (JObject)jsonBody["SpecificationsInProduct"]; // this variable must be present in the javascript
            JObject materials = (JObject)jsonBody["MaterialsInProduct"]; // this variable must be present in the javascript

            jsonBody.Remove("SpecificationsInProduct");
            jsonBody.Remove("MaterialsInProduct");

            Product product= jsonBody.ToObject<Product>(); // the job card object

            db.Products.Add(product);

            db.SaveChanges(); // save the shit

            int productId = product.ProductId; // the foregin key to be used for the -> proudcts

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

            foreach (JToken token in tokens)
            {
                    JToken specificationJson = token.Children().First();
                    SpecificationInProduct specificationInstance = specificationJson.ToObject<SpecificationInProduct>();
                    specificationInstance.ProductId = productId;
                    db.SpecificationInProduct.Add(specificationInstance);

            }
            JEnumerable<JToken> materialsTokens = (JEnumerable<JToken>)materials.Children<JToken>();
            foreach (JToken token in materialsTokens)
            {
                JToken materialJson = token.Children().First();
                MaterialInProduct materialInstance = materialJson.ToObject<MaterialInProduct>();
                materialInstance.ProductId = productId;
                db.MaterialInProducts.Add(materialInstance);

            }

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