protected override void doDeleteNoTransaction(EventJournal e) { Receipt st = (Receipt)this.Get(e.ID); try { if (getEventStatus(st.ID) == EventStatus.Confirm) { throw new Exception("Revise before delete"); } foreach (ReceiptItem sti in e.EVENT_JOURNAL_ITEMS) { if (sti.PAYMENT_TYPE == ReceiptType.ARCreditNote) { m_command.CommandText = ARCreditNote.UpdateUsedForReceipt(sti.AR_CREDIT_NOTE.ID, false); m_command.ExecuteNonQuery(); } } m_command.CommandText = ReceiptItem.DeleteAllByEventSQL(st.ID); m_command.ExecuteNonQuery(); m_command.CommandText = Receipt.DeleteSQL(st.ID); m_command.ExecuteNonQuery(); } catch (Exception x) { throw x; } }
protected override void doDelete(EventJournal e) { Receipt st = (Receipt)e; MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { if (getEventStatus(st.ID) == EventStatus.Confirm) { throw new Exception("Revise before delete"); } foreach (ReceiptItem sti in e.EVENT_JOURNAL_ITEMS) { if (sti.PAYMENT_TYPE == ReceiptType.ARCreditNote) { m_command.CommandText = ARCreditNote.UpdateUsedForReceipt(sti.AR_CREDIT_NOTE.ID, false); m_command.ExecuteNonQuery(); } } m_command.CommandText = ReceiptItem.DeleteAllByEventSQL(st.ID); m_command.ExecuteNonQuery(); m_command.CommandText = Receipt.DeleteSQL(st.ID); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }