public object UpdateDonatedProduct(Donated_Product donProdUpdate) { db.Configuration.ProxyCreationEnabled = false; Donated_Product objectDonProd = new Donated_Product(); dynamic toReturn = new ExpandoObject(); var ProdId = donProdUpdate.ProductID; var DonId = donProdUpdate.DonationID; try { objectDonProd = db.Donated_Product.Where(x => (x.DonationID == DonId) && (x.ProductID == ProdId)).FirstOrDefault(); if (objectDonProd != null) { objectDonProd.DPQuantity = donProdUpdate.DPQuantity; db.SaveChanges(); toReturn.Message = "Donated product Update Successful"; } else { toReturn.Message = "Record Not Found"; } } catch (Exception) { toReturn.Message = "Donated product Update Unsuccessful"; } return(toReturn); }
public object addDonatedProduct(int prodID, int contID, int donID, int quantity) { db.Configuration.ProxyCreationEnabled = false; dynamic toReturn = new ExpandoObject(); try { //check quantity of container Container_Product conProd = db.Container_Product.Where(z => (z.ProductID == prodID) && (z.ContainerID == contID)).FirstOrDefault(); Donated_Product donProdObj = db.Donated_Product.Where(z => (z.DonationID == donID) && (z.ProductID == prodID)).FirstOrDefault(); //to check if product has already been added if (conProd.CPQuantity >= quantity) { if (donProdObj == null) { Donated_Product donProd = new Donated_Product(); donProd.ProductID = prodID; donProd.DonationID = donID; donProd.DPQuantity = quantity; donProd.ContainerID = contID; db.Donated_Product.Add(donProd); conProd.CPQuantity = conProd.CPQuantity - quantity; db.SaveChanges(); toReturn.Message = "Donated Products Added Successfully"; } else { donProdObj.DPQuantity = donProdObj.DPQuantity + quantity; conProd.CPQuantity = conProd.CPQuantity - quantity; db.SaveChanges(); toReturn.Message = "Donated Products Added Successfully"; } toReturn.DonatedProducts = db.Donated_Product.Where(z => z.DonationID == donID).ToList(); } else { toReturn.Message = "Not enough stock on hand. Available qunatity = " + conProd.CPQuantity; } } catch (Exception) { toReturn.Message = "Failed to add the product"; } return(toReturn); }