protected override void doUpdateNoTransaction(EventJournal en) { try { Payment e = (Payment)en; m_command.CommandText = e.GetUpdateSQL(); m_command.ExecuteNonQuery(); foreach (PaymentItem sti in e.EVENT_JOURNAL_ITEMS) { if (sti.ID > 0) { m_command.CommandText = sti.GetUpdateSQL(); m_command.ExecuteNonQuery(); } else { m_command.CommandText = sti.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = PaymentItem.SelectMaxIDSQL(); sti.ID = Convert.ToInt32(m_command.ExecuteScalar()); } } m_command.CommandText = PaymentItem.DeleteUpdate(e.ID, e.EVENT_JOURNAL_ITEMS); m_command.ExecuteNonQuery(); } catch (Exception x) { throw x; } }
protected override void doUpdate(EventJournal en) { MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { Payment e = (Payment)en; m_command.CommandText = e.GetUpdateSQL(); m_command.ExecuteNonQuery(); foreach (PaymentItem sti in e.EVENT_JOURNAL_ITEMS) { sti.VENDOR_BALANCE_SUPPLIER_INVOICE_TYPE = sti.SUPPLIER_INVOICE_JOURNAL_ITEM.GET_EVENT_JOURNAL.VENDOR_BALANCE_ENTRY_TYPE; if (sti.ID > 0) { m_command.CommandText = sti.GetUpdateSQL(); m_command.ExecuteNonQuery(); } else { m_command.CommandText = sti.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = PaymentItem.SelectMaxIDSQL(); sti.ID = Convert.ToInt32(m_command.ExecuteScalar()); } if (sti.PAYMENT_TYPE == PaymentType.APDebitNote) { m_command.CommandText = APDebitNote.UpdateUsedForPayment(sti.AP_DEBIT_NOTE.ID, true); m_command.ExecuteNonQuery(); } } m_command.CommandText = PaymentItem.GetNotInTypeAPDN(e.ID, e.EVENT_JOURNAL_ITEMS); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList pymnts = PaymentItem.TransformReaderList(r); r.Close(); foreach (PaymentItem itm in pymnts) { m_command.CommandText = APDebitNote.UpdateUsedForPayment(itm.AP_DEBIT_NOTE.ID, false); m_command.ExecuteNonQuery(); } m_command.CommandText = PaymentItem.DeleteUpdate(e.ID, e.EVENT_JOURNAL_ITEMS); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }