public int Delete(List <PERMITDC> objs, ref List <EXCEPTIONDC> lstExceptions) { int deleteCount = 0; DBConnection Connection = new DBConnection(); try { PERMITDA objDA = new PERMITDA(); foreach (PERMITDC obj in objs) { try { Connection.Open(true); deleteCount = objDA.Delete(Connection, obj); Connection.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); Connection.Rollback(); } } if (lstExceptions.Count > 0) { throw new Exception("Excption Occure"); } } catch (Exception exp) { throw exp; } finally { Connection.Close(); } return(deleteCount); }