public void SavePayments(ArrayList arrCashPaymentDetails, ArrayList arrChequePaymentDetails, ArrayList arrCreditCardPaymentDetails, ArrayList arrCreditPaymentDetails, ArrayList arrDebitPaymentDetails) { //need to remove this eventually mclsSalesTransactionDetails.PaymentDetails = AssignArrayListPayments(arrCashPaymentDetails, arrChequePaymentDetails, arrCreditCardPaymentDetails, arrCreditPaymentDetails, arrDebitPaymentDetails); #region Lemu 2011-06-09 : Added saving of debit payments as deposit if refund. Requested by Frank. if (mboIsRefund) { Data.Deposits clsDeposit = new Data.Deposits(mConnection, mTransaction); mConnection = clsDeposit.Connection; mTransaction = clsDeposit.Transaction; Data.DepositDetails clsDepositDetails = new Data.DepositDetails(); foreach (Data.DebitPaymentDetails clsDebitPaymentDetails in mclsSalesTransactionDetails.PaymentDetails.arrDebitPaymentDetails) { clsDepositDetails = new Data.DepositDetails(); clsDepositDetails.Amount = clsDebitPaymentDetails.Amount; clsDepositDetails.PaymentType = PaymentTypes.Debit; clsDepositDetails.DateCreated = mclsSalesTransactionDetails.TransactionDate; clsDepositDetails.BranchDetails = new Data.BranchDetails { BranchID = mclsTerminalDetails.BranchID }; clsDepositDetails.TerminalNo = mclsTerminalDetails.TerminalNo; clsDepositDetails.CashierID = mclsSalesTransactionDetails.CashierID; clsDepositDetails.ContactID = mclsSalesTransactionDetails.CustomerID; clsDepositDetails.ContactName = mclsSalesTransactionDetails.CustomerName; clsDepositDetails.Remarks = "Added during refund of transaction #: " + mclsSalesTransactionDetails.TransactionNo; clsDeposit.Insert(clsDepositDetails); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContact.AddDebit(clsDepositDetails.ContactID, clsDepositDetails.Amount); } clsDeposit.CommitAndDispose(); InsertAuditLog(AccessTypes.Deposit, "Deposit: type='" + clsDepositDetails.PaymentType.ToString("G") + "' amount='" + clsDepositDetails.Amount.ToString(",##0.#0") + "'" + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); // Remove Debit Payments so that it wont be saved in the debit payment table mclsSalesTransactionDetails.PaymentDetails.arrDebitPaymentDetails = new Data.DebitPaymentDetails[0]; } #endregion Data.Payment clsPayment = new Data.Payment(mConnection, mTransaction); mConnection = clsPayment.Connection; mTransaction = clsPayment.Transaction; clsPayment.Insert(mclsSalesTransactionDetails.PaymentDetails); // CreditCardPaymentDetails : Inhouse }
private void Deposit() { if (!SuspendTransactionAndContinue()) return; DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.Deposit); if (loginresult == DialogResult.OK) { try { clsEvent.AddEvent("[" + lblCashier.Text + "] Depositing amount."); DepositWnd frmDepositWnd = new DepositWnd(); frmDepositWnd.SysConfigDetails = mclsSysConfigDetails; frmDepositWnd.TerminalDetails = mclsTerminalDetails; frmDepositWnd.CashierID = mclsSalesTransactionDetails.CashierID; frmDepositWnd.ShowDialog(this); DialogResult result = frmDepositWnd.Result; Data.DepositDetails clsDepositDetails = frmDepositWnd.DepositDetails; frmDepositWnd.Close(); frmDepositWnd.Dispose(); if (result == DialogResult.OK) { Cursor.Current = Cursors.WaitCursor; Data.Deposits clsDeposit = new Data.Deposits(mConnection, mTransaction); mConnection = clsDeposit.Connection; mTransaction = clsDeposit.Transaction; clsDeposit.Insert(clsDepositDetails); Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction); mConnection = clsContact.Connection; mTransaction = clsContact.Transaction; clsContact.AddDebit(clsDepositDetails.ContactID, clsDepositDetails.Amount); clsDeposit.CommitAndDispose(); InsertAuditLog(AccessTypes.Deposit, "Deposit: type='" + clsDepositDetails.PaymentType.ToString("G") + "' amount='" + clsDepositDetails.Amount.ToString(",##0.#0") + "'" + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode); PrintDeposit(clsDepositDetails); //PrintDepositDelegate printdepositDel = new PrintDepositDelegate(PrintDeposit); //printdepositDel.BeginInvoke(clsDepositDetails, null, null); clsEvent.AddEventLn("Done! type=" + clsDepositDetails.PaymentType.ToString("G") + " amount=" + clsDepositDetails.Amount.ToString("#,###.#0")); Cursor.Current = Cursors.Default; } else { clsEvent.AddEventLn("Cancelled!"); } } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Receiving customer deposit."); } } }