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)); }
public IHttpActionResult GetMaterialInProduct(int id) { MaterialInProduct materialInProduct = db.MaterialInProducts.Find(id); if (materialInProduct == null) { return(NotFound()); } return(Ok(materialInProduct)); }
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)); }
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); }