private void ActionTakeWhenVoidReceiptForCategory_2(string strReceiptNo, ConnectionProvider connProvider) { TblMemberPackage memberPackage = new TblMemberPackage(); TblGIRO giro = new TblGIRO(); giro.MainConnectionProvider = connProvider; memberPackage.MainConnectionProvider = connProvider; memberPackage.StrReceiptNo = strReceiptNo; DataTable table = memberPackage.SelectAllWstrReceiptNo(strReceiptNo); TblClassAttendance sqlClassAttendance = new TblClassAttendance(); TblServiceSession sqlServiceSession = new TblServiceSession(); sqlClassAttendance.MainConnectionProvider = connProvider; sqlServiceSession.MainConnectionProvider = connProvider; if (table.Rows.Count > 0) { int nPackageID = 0; foreach (DataRow r in table.Rows) { nPackageID = ACMS.Convert.ToInt32(r["nPackageID"]); sqlClassAttendance.NPackageID = nPackageID; DataTable classAttTable = sqlClassAttendance.SelectAllWnPackageIDLogic(); if (classAttTable.Rows.Count > 0) throw new Exception("The item(s) has been used, you are not allow to void the receipt"); else { sqlServiceSession.NPackageID = nPackageID; classAttTable = sqlServiceSession.SelectAllWnPackageIDLogic(); if (classAttTable.Rows.Count > 0) throw new Exception("The item(s) has been used, you are not allow to void the receipt"); } r["nEmployeeID"] = User.EmployeeID; r["nStatusID"] = 2; r["strRemarks"] = "Voided Receipt"; r["dtLastEdit"] = System.DateTime.Now; if (r["nGIRORefID"] != DBNull.Value) { int nGiroRefID = ACMS.Convert.ToInt32(r["nGIRORefID"]); giro.NGIRORefID = nGiroRefID; giro.SelectOne(); giro.NEmployeeID = User.EmployeeID; giro.NStatusID = 4; giro.StrRemarks = "Voided Receipt" + " - " + System.DateTime.Now.ToString("dd/MM/yyyy"); giro.Update(); } } memberPackage.SaveData(table); } }