//public int Update(List<PERMITDC> objPERMITs) //{ // int updatedCount = 0; // DBConnection objConnection = new DBConnection(); // PERMITDA objPERMITDA = new PERMITDA(); // try // { // objConnection.Open(true); // updatedCount = objPERMITDA.Update(objConnection, objPERMITs); // IsDirty = objPERMITDA.IsDirty; // if (IsDirty) // objConnection.Rollback(); // else // objConnection.Commit(); // } // catch (Exception ex) // { // objConnection.Rollback(); // throw ex; // } // finally // { // objConnection.Close(); // } // return updatedCount; //} public int Update(List <PERMITDC> objs, ref List <EXCEPTIONDC> lstExceptions) { int updatedCount = 0; DBConnection objConnection = new DBConnection(); PERMITDA objDA = new PERMITDA(); try { foreach (PERMITDC obj in objs) { objConnection.Open(true); try { updatedCount = objDA.Update(objConnection, obj); if (obj.IsDirty) { break; } objConnection.Commit(); } catch (Exception exp) { EXCEPTIONDC objExcption = new EXCEPTIONDC(); objExcption.FIELD_ID = obj.PERMIT_ID; objExcption.EXCEPTION_MESSAGE = exp.Message; objExcption.STACK_TRACK = exp.StackTrace; lstExceptions.Add(objExcption); objConnection.Rollback(); } } if (lstExceptions.Count > 0) { throw new Exception(lstExceptions[0].EXCEPTION_MESSAGE); } } catch (Exception exp) { throw exp; } finally { objConnection.Close(); } return(updatedCount); }