Object reference not set to an instance of an object.
Hello Team, My Loop is giving me this error. public ActionResult SaveSales(SalesModel ObjSalesModel) { if (ObjSalesModel == null || ObjSalesModel.tblSales == null) { return Json(new { result = false, message = "Invalid data received." }, JsonRequestBehavior.AllowGet); } try { decimal Vat = 0; decimal CostPrice = 0; decimal SellingPrice = 0; decimal vat = Vat; decimal costPrice = CostPrice; decimal sellingPrice = SellingPrice; decimal Profit = sellingPrice - costPrice; decimal Vatpercent = (vat / 100) * sellingPrice; tblSale ObjSales = new tblSale(); ObjSales.OrderDate = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); ObjSales.TransactionNo = string.Format("{0:ddMMMyyyyHHmmss}", DateTime.Now); ObjSales.Amount = ObjSalesModel.tblSales.Amount; ObjSales.Discount = ObjSalesModel.tblSales.Discount; ObjSales.Tax = Vatpercent; ObjSales.GrandTotal = ObjSalesModel.tblSales.GrandTotal; ObjSales.Profit = Profit; //ObjSales.UserID = ObjSalesModel.UserID; objASPNETPHARMACYDBEntities.tblSales.Add(ObjSales); objASPNETPHARMACYDBEntities.SaveChanges(); foreach (var sales in ObjSalesModel.SalesItems) { tblSalesItem ObjSalesItem = new tblSalesItem(); ObjSalesItem.StockID = sales.StockID; ObjSalesItem.SalesID = ObjSales.SalesID; // Use the newly generated SalesID ObjSalesItem.Qty = sales.Qty; ObjSalesItem.Rate = sales.Rate; ObjSalesItem.Amount = sales.Amount; objASPNETPHARMACYDBEntities.tblSalesItems.Add(ObjSalesItem); objASPNETPHARMACYDBEntities.SaveChanges(); var ObjtblStock = objASPNETPHARMACYDBEntities.tblStocks.Where(x => x.StockID == sales.StockID).FirstOrDefault(); if (ObjtblStock != null) { decimal itemcostPrice = Convert.ToDecimal(ObjtblStock.CostPrice); decimal salesPrice = Convert.ToDecimal(ObjtblStock.SellingPrice); decimal profit = salesPrice - itemcostPrice; decimal vatAmount = (vat / 100) * sellingPrice; // Update the sales item with calculated values sales.Amount = Convert.ToDecimal(sellingPrice * sales.Qty); ObjSales.Profit = profit * sales.Qty; ObjSales.Tax = vatAmount * sales.Qty; ObjtblStock.Qty = ObjtblStock.Qty - sales.Qty; objASPNETPHARMACYDBEntities.Entry(ObjtblStock).State = EntityState.Modified; objASPNETPHARMACYDBEntities.SaveChanges(); } } return Json(new { result = true, message = "Sales successfully saved!", TransactionNo = ObjSales.TransactionNo }, JsonRequestBehavior.AllowGet); } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { Exception raise = dbEx; foreach (var vailidationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in vailidationErrors.ValidationErrors) { string message = string.Format("{0}:{1}", vailidationErrors.Entry.Entity.ToString(), validationError.ErrorMessage); raise = new InvalidOperationException(message, raise); } } throw raise; //return Json(new { result = false, message = ex.Message }, JsonRequestBehavior.AllowGet); } }

Hello Team,
My Loop is giving me this error.
public ActionResult SaveSales(SalesModel ObjSalesModel)
{
if (ObjSalesModel == null || ObjSalesModel.tblSales == null)
{
return Json(new { result = false, message = "Invalid data received." }, JsonRequestBehavior.AllowGet);
}
try
{
decimal Vat = 0;
decimal CostPrice = 0;
decimal SellingPrice = 0;
decimal vat = Vat;
decimal costPrice = CostPrice;
decimal sellingPrice = SellingPrice;
decimal Profit = sellingPrice - costPrice;
decimal Vatpercent = (vat / 100) * sellingPrice;
tblSale ObjSales = new tblSale();
ObjSales.OrderDate = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss");
ObjSales.TransactionNo = string.Format("{0:ddMMMyyyyHHmmss}", DateTime.Now);
ObjSales.Amount = ObjSalesModel.tblSales.Amount;
ObjSales.Discount = ObjSalesModel.tblSales.Discount;
ObjSales.Tax = Vatpercent;
ObjSales.GrandTotal = ObjSalesModel.tblSales.GrandTotal;
ObjSales.Profit = Profit;
//ObjSales.UserID = ObjSalesModel.UserID;
objASPNETPHARMACYDBEntities.tblSales.Add(ObjSales);
objASPNETPHARMACYDBEntities.SaveChanges();
foreach (var sales in ObjSalesModel.SalesItems)
{
tblSalesItem ObjSalesItem = new tblSalesItem();
ObjSalesItem.StockID = sales.StockID;
ObjSalesItem.SalesID = ObjSales.SalesID; // Use the newly generated SalesID
ObjSalesItem.Qty = sales.Qty;
ObjSalesItem.Rate = sales.Rate;
ObjSalesItem.Amount = sales.Amount;
objASPNETPHARMACYDBEntities.tblSalesItems.Add(ObjSalesItem);
objASPNETPHARMACYDBEntities.SaveChanges();
var ObjtblStock = objASPNETPHARMACYDBEntities.tblStocks.Where(x => x.StockID == sales.StockID).FirstOrDefault();
if (ObjtblStock != null)
{
decimal itemcostPrice = Convert.ToDecimal(ObjtblStock.CostPrice);
decimal salesPrice = Convert.ToDecimal(ObjtblStock.SellingPrice);
decimal profit = salesPrice - itemcostPrice;
decimal vatAmount = (vat / 100) * sellingPrice;
// Update the sales item with calculated values
sales.Amount = Convert.ToDecimal(sellingPrice * sales.Qty);
ObjSales.Profit = profit * sales.Qty;
ObjSales.Tax = vatAmount * sales.Qty;
ObjtblStock.Qty = ObjtblStock.Qty - sales.Qty;
objASPNETPHARMACYDBEntities.Entry(ObjtblStock).State = EntityState.Modified;
objASPNETPHARMACYDBEntities.SaveChanges();
}
}
return Json(new { result = true, message = "Sales successfully saved!", TransactionNo = ObjSales.TransactionNo }, JsonRequestBehavior.AllowGet);
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
{
Exception raise = dbEx;
foreach (var vailidationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in vailidationErrors.ValidationErrors)
{
string message = string.Format("{0}:{1}",
vailidationErrors.Entry.Entity.ToString(),
validationError.ErrorMessage);
raise = new InvalidOperationException(message, raise);
}
}
throw raise;
//return Json(new { result = false, message = ex.Message }, JsonRequestBehavior.AllowGet);
}
}