Hello Team,
Please I have 3 tables namely, Category table, product table and quantity table,
at the product page I select the category and then add the product price quantity and price and save it, but it doesn't get save when I try to save the data, kindly help.
public ActionResult SaveItem(ItemViewModel itemModel)
{
if (itemModel.ItemId > 0)
{
tblItem objItem = objRestaurantDBEntities.tblItems.Where(a => a.ItemId == itemModel.ItemId).FirstOrDefault();
objItem.CategoryId = itemModel.CategoryId;
objItem.CategoryName = itemModel.tblCategory.CategoryName;
objItem.ItemName = itemModel.ItemName;
objItem.TransactionId = itemModel.QuantityId;
objItem.Quantity = itemModel.tblQuantity.Quantity;
objItem.ItemPrice = itemModel.ItemPrice;
objRestaurantDBEntities.SaveChanges();
objItem.ItemId = itemModel.ItemId;
return Json(new { result = true, message = "Product updated successfully...." }, JsonRequestBehavior.AllowGet);
}
tblItem objItemSave = new tblItem();
objItemSave.CategoryId = itemModel.CategoryId;
objItemSave.CategoryName = itemModel.tblCategory.CategoryName;
objItemSave.ItemName = itemModel.ItemName;
objItemSave.TransactionId = itemModel.QuantityId;
objItemSave.Quantity = itemModel.tblQuantity.Quantity;
objItemSave.ItemPrice = itemModel.ItemPrice;
objRestaurantDBEntities.tblItems.Add(objItemSave);
objRestaurantDBEntities.SaveChanges();
return Json(new { result = true, message = "Product save successfully...." }, JsonRequestBehavior.AllowGet);
}
Lokesh VarmanPosted Aug 8, 2023, 3:39 AM
From your code snippet, it seems like you are trying to save or update an item in the database based on the
ItemViewModeldata. The issue you're facing might be related to how you are setting the foreign key values (CategoryId,TransactionId, andQuantityId) and their associated navigation properties (tblCategory,tblTransaction, andtblQuantity). It's also important to make sure you are using the correct IDs when trying to retrieve and update the existing item.Here's a modified version of your code snippet with some improvements and explanations:
Emmmanuel FIADUFEPosted Aug 8, 2023, 10:16 AM
Please with my earlier code that I posted, the Transaction table is the same as the Quantity table and this is the correct one, sorry for the mistake.
When I save the data, it says data save, but the saved data doesn't show in the databse, what might be wrong,
kindly check it for me.
public ActionResult SaveItem(ItemViewModel itemModel)
{
if (ModelState.IsValid)();
{
if (itemModel.ItemId > 0)
{
tblItem objItem = objRestaurantDBEntities.tblItems.Where(a => a.ItemId == itemModel.ItemId).FirstOrDefault
if (objItem != null)
{
objItem.CategoryId = itemModel.CategoryId;
//objItem.CategoryName = itemModel.tblCategory.CategoryName;
objItem.ItemName = itemModel.ItemName;
objItem.ItemPrice = itemModel.ItemPrice;
objRestaurantDBEntities.SaveChanges();
objItem.ItemId = itemModel.ItemId;
return Json(new { result = true, message = "Product updated successfully...." }, JsonRequestBehavior.AllowGet);
}
else{
return Json(new { result = false, message = "Product not found?" }, JsonRequestBehavior.AllowGet);
}
}
else
{
tblTransactio objTransaction = new tblTransactio();
objTransaction.TransactionId = itemModel.TransactionId;
objTransaction.Quantity = itemModel.Quantity;
return Json(new { result = true, message = "Product updated successfully...." }, JsonRequestBehavior.AllowGet);
}
}
else
{
tblItem objItemSave = new tblItem();
objItemSave.CategoryId = itemModel.CategoryId;
objItemSave.ItemName = itemModel.ItemName;
objItemSave.ItemPrice = itemModel.ItemPrice;
objRestaurantDBEntities.tblItems.Add(objItemSave);
objRestaurantDBEntities.SaveChanges();
return Json(new { result = true, message = "Product save successfully...." }, JsonRequestBehavior.AllowGet);
}
}