Hi
In below code Data is updated in 2 tables. I want if any error occurs during the processing it should RollBack . Only if data is updated in 2 condition then Success message should get displayed
try
{
BALReturnOrderHeader bALReturnOrderHeader = new BALReturnOrderHeader();
BALReturnOrderItem bALReturnOrderItem = new BALReturnOrderItem();
BALReturnOrderLine bALReturnOrderLine = new BALReturnOrderLine();
BALNimbusReturnOrderDetails bALNimbusReturnOrderDetails = new BALNimbusReturnOrderDetails();
ReturnOrderHeader objreturnOrderHeader = bALReturnOrderHeader.GetReturnOrderHeaderDetail(Convert.ToInt32(hdfUpdateReturnOrderID.Value));
if (objreturnOrderHeader != null)
{
objreturnOrderHeader.IsActive = false;
bALReturnOrderHeader.UpdateReturnOrder(objreturnOrderHeader);
}
List objreturnOrderItem = bALReturnOrderItem.GetReturnOrderItems(Convert.ToInt32(hdfUpdateReturnOrderID.Value));
if (objreturnOrderItem.Count > 0)
{
foreach (var colum in objreturnOrderItem)
{
ReturnOrderItem returnOrderItem = bALReturnOrderItem.GetRecordDetail(colum.ItemID);
if (returnOrderItem != null)
{
returnOrderItem.Deleted = true;
bALReturnOrderItem.UpdateReturnOrderItem(returnOrderItem);
}
}
}
}
catch (Exception ex)
{
Utility.SaveErrorLog(ex.Message, System.IO.Path.GetFileName(Request.Path), System.Reflection.MethodBase.GetCurrentMethod().Name, Convert.ToInt32(hdfLogisticsManagerID.Value));
ShowMessage("Oops...", ex.Message, "error");
}
Thanks
Naimish MakwanaPosted Feb 1, 2023, 10:38 AM
Hello Ramco,
To rollback the changes made in the code in case of an error, you can use a transaction. Transactions in C# can be managed using the System.Transactions namespace. You can wrap the code inside a using block, and if an exception is thrown, the transaction will automatically be rolled back.
Thanks
Naimish Makwana
Jignesh KumarPosted Feb 1, 2023, 10:37 AM
Hello,
you can put your code inside sql transaction,
Please refer this thread which will help you out,
https://www.c-sharpcorner.com/uploadfile/mahesh/rollback-commit-and-savepoints-in-ado-net/
https://www.aspsnippets.com/questions/126612/Entity-Framework-with-Transaction-Commit-and-Rollback-using-C-and-VBNet-in-ASPNet/