public ActionResult Success(decimal?amount, string Product)
        {
            ViewBag.Title = "Success";
            var Today   = DateTime.Now.Date;
            int count   = DB.Payments.Count(c => c.CreationDate > Today);
            int rnd     = Rnd.Next(Int16.MaxValue);
            var PollURL = TempData["PollURL"] as string;

            if (!string.IsNullOrWhiteSpace(PollURL))
            {
                var payment = new Data.Payment
                {
                    PollURL         = PollURL,
                    Amount          = amount ?? 0,
                    CreationDate    = DateTime.UtcNow,
                    CreatorID       = CurrentUserID,
                    StatusID        = (int)PaymentStatus.PENDING_ACKNOWKEDGEMENT,
                    Reference       = $"{Today:MMdd}{count:D3}{rnd:X4}",
                    CurrencyID      = DB.Currencies.FirstOrDefault(c => c.IsDefault).ID,
                    PaymentMethodID = DB.PaymentMethods.FirstOrDefault(c => c.IsDefault).ID,
                };
                if (CurrentUser.FarmerID.HasValue)
                {
                    payment.FarmerID = CurrentUser.FarmerID;
                }
                DB.Payments.Add(payment);
            }
            DB.SaveChanges();
            return(View());
        }
Example #2
0
        private void SavePayments(decimal AmountPaid, decimal CashPayment, decimal ChequePayment, decimal CreditCardPayment, decimal DebitPayment, ArrayList arrCashPaymentDetails, ArrayList arrChequePaymentDetails, ArrayList arrCreditCardPaymentDetails, ArrayList arrDebitPaymentDetails)
        {
            Data.Payment clsPayment = new Data.Payment();

            if (CashPayment > 0)
            {
                SaveCashPayment(clsPayment, arrCashPaymentDetails);
            }

            if (ChequePayment > 0)
            {
                SaveChequePayment(clsPayment, arrChequePaymentDetails);
            }

            if (CreditCardPayment > 0)
            {
                SaveCreditCardPayment(clsPayment, arrCreditCardPaymentDetails);
            }

            if (DebitPayment > 0)
            {
                SaveDebitPayment(clsPayment, arrDebitPaymentDetails);
            }

            clsPayment.CommitAndDispose();
        }
Example #3
0
        private void SaveDebitPayment(Data.Payment pvtclsPayment, ArrayList pvtarrDebitPaymentDetails)
        {
            int itemIndex = 0;

            Data.DebitPaymentDetails[] DebitPaymentDetails = new Data.DebitPaymentDetails[0];
            if (pvtarrDebitPaymentDetails != null)
            {
                DebitPaymentDetails = new Data.DebitPaymentDetails[pvtarrDebitPaymentDetails.Count];
                pvtarrDebitPaymentDetails.CopyTo(DebitPaymentDetails);
            }
            foreach (Data.DebitPaymentDetails det in DebitPaymentDetails)
            {
                string strRemarks = "PAID BY:" + mclsCustomerDetails.ContactName + " PAYMENTTYPE:Debit DATE:" + DateTime.Now.ToString("MM-dd-yyyy hh:mm:ss tt");
                if (det.Remarks != null)
                {
                    strRemarks += Environment.NewLine + det.Remarks;
                }

                decimal decRemainingAmountPaid = det.Amount;

                System.Data.DataTable dt = (System.Data.DataTable)dgItems.DataSource;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    long    lngTransactionID = Convert.ToInt64(dr["TransactionID"]);
                    string  strTransactionNo = dr["TransactionNo"].ToString();
                    decimal decBalance       = Convert.ToDecimal(dr["Balance"]);

                    if (decRemainingAmountPaid >= decBalance)
                    {
                        InsertDebitPayment(pvtclsPayment, lngTransactionID, strTransactionNo, decBalance, strRemarks);

                        dgItems.Select(itemIndex);
                        dr["CreditPaid"] = decBalance.ToString("#,##0.#0");
                        dr["Balance"]    = "0.00";

                        decRemainingAmountPaid -= decBalance;
                    }
                    else if (decRemainingAmountPaid > 0 && decRemainingAmountPaid < decBalance)
                    {
                        InsertDebitPayment(pvtclsPayment, lngTransactionID, strTransactionNo, decRemainingAmountPaid, strRemarks);

                        dgItems.Select(itemIndex);
                        dr["CreditPaid"]       = decRemainingAmountPaid.ToString("#,##0.#0");
                        dr["Balance"]          = Convert.ToDecimal(decBalance - decRemainingAmountPaid).ToString("#,##0.#0");
                        decRemainingAmountPaid = 0;
                        break;
                    }
                    itemIndex++;
                }

                this.dgStyle.MappingName = dt.TableName;
                dgItems.DataSource       = dt;
                if (dt.Rows.Count > 0)
                {
                    dgItems.Select(0);
                    dgItems.CurrentRowIndex = 0;
                }
            }
        }
Example #4
0
        private void SaveDebitPayment(Data.Payment clsPayment, ArrayList pvtarrDebitPaymentDetails)
        {
            int itemIndex = 0;

            Data.DebitPaymentDetails[] DebitPaymentDetails = new Data.DebitPaymentDetails[0];
            if (pvtarrDebitPaymentDetails != null)
            {
                DebitPaymentDetails = new Data.DebitPaymentDetails[pvtarrDebitPaymentDetails.Count];
                pvtarrDebitPaymentDetails.CopyTo(DebitPaymentDetails);
            }
            foreach (Data.DebitPaymentDetails det in DebitPaymentDetails)
            {
                string strRemarks = "PAID BY:" + mclsCustomerDetails.ContactName + " PAYMENTTYPE:Debit DATE:" + DateTime.Now.ToString("MM-dd-yyyy hh:mm:ss tt");
                if (det.Remarks != null)
                {
                    strRemarks += Environment.NewLine + det.Remarks;
                }

                decimal decRemainingAmountPaid = det.Amount;

                foreach (DataGridViewRow dr in dgvItems.SelectedRows)
                {
                    Int64   lngTransactionID = Convert.ToInt64(dr.Cells["TransactionID"].Value.ToString());
                    string  strTransactionNo = dr.Cells["TransactionNo"].Value.ToString();
                    decimal decBalance       = Convert.ToDecimal(dr.Cells["Balance"].Value.ToString());

                    if (decRemainingAmountPaid >= decBalance)
                    {
                        InsertDebitPayment(clsPayment, lngTransactionID, strTransactionNo, decBalance, strRemarks);

                        //dgItems.Select(itemIndex);
                        dr.Cells["CreditPaid"].Value = decBalance;
                        dr.Cells["Balance"].Value    = 0;

                        decRemainingAmountPaid -= decBalance;
                    }
                    else if (decRemainingAmountPaid > 0 && decRemainingAmountPaid < decBalance)
                    {
                        InsertDebitPayment(clsPayment, lngTransactionID, strTransactionNo, decRemainingAmountPaid, strRemarks);

                        //dgItems.Select(itemIndex);
                        dr.Cells["CreditPaid"].Value = decRemainingAmountPaid;
                        dr.Cells["Balance"].Value    = decBalance - decRemainingAmountPaid;
                        decRemainingAmountPaid       = 0;
                        break;
                    }
                    itemIndex++;
                }

                //this.dgStyle.MappingName = dt.TableName;
                //dgItems.DataSource = dt;
                //if (dt.Rows.Count > 0)
                //{
                //    dgItems.Select(0);
                //    dgItems.CurrentRowIndex=0;
                //}
            }
        }
Example #5
0
        private void InsertCashPayment(Data.Payment pvtclsPayment, long pvtlngTransactionID, string pvtstrTransactionNo, decimal pvtdecAmount, string pvtstrRemarks)
        {
            Data.CashPaymentDetails Details = new Data.CashPaymentDetails();
            Details.TransactionID = pvtlngTransactionID;
            Details.TransactionNo = pvtstrTransactionNo;
            Details.Amount        = pvtdecAmount;
            Details.Remarks       = pvtstrRemarks;

            pvtclsPayment.InsertCashPayment(Details);
            pvtclsPayment.UpdateCredit(mclsCustomerDetails.ContactID, pvtlngTransactionID, pvtstrTransactionNo, pvtdecAmount, pvtstrRemarks);
        }
        private async Task SavePaymentRecord(Model.Payment payment, PaymentResponse paymentResult)
        {
            _logger.Verbose($"Calling SavePaymentRecord");

            var paymentEntity = new Data.Payment();

            ObjectCopy <Model.Payment, Data.Payment> .Copy(payment, paymentEntity);

            paymentEntity.PaymentStatus = (int)paymentResult.PaymentStatus;
            paymentEntity.UniqueId      = paymentResult.UniqueIdentifier;
            await _paymentRepository.Create(paymentEntity);
        }
Example #7
0
        private void InsertDebitPayment(Data.Payment clsPayment, Int64 intTransactionID, string strTransactionNo, decimal decAmount, string strRemarks)
        {
            Data.DebitPaymentDetails Details = new Data.DebitPaymentDetails();
            Details.TransactionID   = intTransactionID;
            Details.TransactionNo   = strTransactionNo;
            Details.Amount          = decAmount;
            Details.CustomerDetails = mclsCustomerDetails;
            Details.Remarks         = strRemarks;

            clsPayment.InsertDebitPayment(Details);
            clsPayment.UpdateDebit(mclsCustomerDetails.ContactID, intTransactionID, strTransactionNo, decAmount, strRemarks);
        }
Example #8
0
        private void InsertCashPayment(Data.Payment clsPayment, Int64 intTransactionID, string strTransactionNo, decimal decAmount, string strRemarks)
        {
            Data.CashPaymentDetails Details = new Data.CashPaymentDetails();
            Details.BranchDetails = mclsTerminalDetails.BranchDetails;
            Details.TerminalNo    = mclsTerminalDetails.TerminalNo;
            Details.TransactionID = intTransactionID;
            Details.TransactionNo = strTransactionNo;
            Details.Amount        = decAmount;
            Details.Remarks       = strRemarks;

            new Data.CashPayments(clsPayment.Connection, clsPayment.Transaction).Insert(Details);
            clsPayment.UpdateCredit(mclsCustomerDetails.ContactID, intTransactionID, strTransactionNo, decAmount, strRemarks);
        }
Example #9
0
        private void SaveCreditCardPayment(Data.Payment clsPayment, ArrayList pvtarrCreditCardPaymentDetails)
        {
            Data.CreditCardPaymentDetails[] CreditCardPaymentDetails = new Data.CreditCardPaymentDetails[0];
            if (pvtarrCreditCardPaymentDetails != null)
            {
                CreditCardPaymentDetails = new Data.CreditCardPaymentDetails[pvtarrCreditCardPaymentDetails.Count];
                pvtarrCreditCardPaymentDetails.CopyTo(CreditCardPaymentDetails);
            }
            foreach (Data.CreditCardPaymentDetails det in CreditCardPaymentDetails)
            {
                string strRemarks = "PAID BY:" + mclsCustomerDetails.ContactName + " PAYMENTTYPE:CreditCard DATE:" + DateTime.Now.ToString("MM-dd-yyyy hh:mm:ss tt");
                if (det.Remarks != null)
                {
                    strRemarks += Environment.NewLine + det.Remarks;
                }

                decimal decRemainingAmountPaid = det.Amount;

                foreach (DataGridViewRow dr in dgvItems.SelectedRows)
                {
                    Int64   lngTransactionID = Convert.ToInt64(dr.Cells["TransactionID"].Value.ToString());
                    string  strTransactionNo = dr.Cells["TransactionNo"].Value.ToString();
                    decimal decBalance       = Convert.ToDecimal(dr.Cells["Balance"].Value.ToString());

                    if (decRemainingAmountPaid >= decBalance)
                    {
                        InsertCreditCardPayment(clsPayment, lngTransactionID, strTransactionNo, decBalance, det.CardTypeID, det.CardNo, det.CardHolder, det.ValidityDates, strRemarks);

                        //dgItems.Select(itemIndex);
                        dr.Cells["CreditPaid"].Value = decBalance;
                        dr.Cells["Balance"].Value    = 0;

                        decRemainingAmountPaid -= decBalance;
                    }
                    else if (decRemainingAmountPaid > 0 && decRemainingAmountPaid < decBalance)
                    {
                        InsertCreditCardPayment(clsPayment, lngTransactionID, strTransactionNo, decRemainingAmountPaid, det.CardTypeID, det.CardNo, det.CardHolder, det.ValidityDates, strRemarks);

                        //dgItems.Select(itemIndex);
                        dr.Cells["CreditPaid"].Value = decRemainingAmountPaid;
                        dr.Cells["Balance"].Value    = decBalance - decRemainingAmountPaid;
                        decRemainingAmountPaid       = 0;
                        break;
                    }
                }
            }
        }
Example #10
0
        private void InsertCreditCardPayment(Data.Payment pvtclsPayment, long pvtlngTransactionID, string pvtstrTransactionNo, decimal pvtdecAmount, Int16 pvtintCardTypeID, string pvtstrCardNo, string pvtstrCardHolder, string pvtstrValidityDates, string pvtstrRemarks)
        {
            Data.CardType        clsCardType        = new Data.CardType(pvtclsPayment.Connection, pvtclsPayment.Transaction);
            Data.CardTypeDetails clsCardTypeDetails = clsCardType.Details(pvtintCardTypeID);

            Data.CreditCardPaymentDetails Details = new Data.CreditCardPaymentDetails();
            Details.TransactionID = pvtlngTransactionID;
            Details.TransactionNo = pvtstrTransactionNo;
            Details.Amount        = pvtdecAmount;
            Details.CardTypeID    = pvtintCardTypeID;
            Details.CardNo        = pvtstrCardNo;
            Details.CardTypeCode  = clsCardTypeDetails.CardTypeCode;
            Details.CardTypeName  = clsCardTypeDetails.CardTypeName;
            Details.CardHolder    = pvtstrCardHolder;
            Details.ValidityDates = pvtstrValidityDates;
            Details.Remarks       = pvtstrRemarks;

            pvtclsPayment.InsertCreditCardPayment(Details);
            pvtclsPayment.UpdateCredit(mclsCustomerDetails.ContactID, pvtlngTransactionID, pvtstrTransactionNo, pvtdecAmount, pvtstrRemarks);
        }
Example #11
0
        private void InsertCreditCardPayment(Data.Payment clsPayment, Int64 intTransactionID, string strTransactionNo, decimal decAmount, Int16 intCardTypeID, string strCardNo, string strCardHolder, string strValidityDates, string strRemarks)
        {
            Data.CardType        clsCardType        = new Data.CardType(clsPayment.Connection, clsPayment.Transaction);
            Data.CardTypeDetails clsCardTypeDetails = clsCardType.Details(intCardTypeID);

            Data.CreditCardPaymentDetails Details = new Data.CreditCardPaymentDetails();
            Details.BranchDetails = mclsTerminalDetails.BranchDetails;
            Details.TerminalNo    = mclsTerminalDetails.TerminalNo;
            Details.TransactionID = intTransactionID;
            Details.TransactionNo = strTransactionNo;
            Details.Amount        = decAmount;
            Details.CardTypeID    = intCardTypeID;
            Details.CardNo        = strCardNo;
            Details.CardTypeCode  = clsCardTypeDetails.CardTypeCode;
            Details.CardTypeName  = clsCardTypeDetails.CardTypeName;
            Details.CardHolder    = strCardHolder;
            Details.ValidityDates = strValidityDates;
            Details.Remarks       = strRemarks;

            new Data.CreditCardPayments(clsPayment.Connection, clsPayment.Transaction).Insert(Details);
            clsPayment.UpdateCredit(mclsCustomerDetails.ContactID, intTransactionID, strTransactionNo, decAmount, strRemarks);
        }
Example #12
0
        public void PrintEJournalReport(Data.SalesTransactionDetails[] salesDetails)
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                PrintingPreference oldCONFIG_AutoPrint = mclsTerminalDetails.AutoPrint;
                mclsTerminalDetails.AutoPrint = PrintingPreference.Normal;

                mboIsItemHeaderPrinted = true;

                PrintReportHeaderSection(false, DateTime.MinValue);

                msbToPrint.Append("-".PadRight(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine);
                msbToPrint.Append(CenterString("ELECTRONIC JOURNAL REPORT", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                msbToPrint.Append("-".PadRight(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine);

                Data.ChequePaymentDetails[] arrChequePaymentDetails;
                Data.CreditCardPaymentDetails[] arrCreditCardPaymentDetails;
                Data.CreditPaymentDetails[] arrCreditPaymentDetails;
                Data.DebitPaymentDetails[] arrDebitPaymentDetails;
                Data.Payment clspayment = new Data.Payment(mConnection, mTransaction);
                mConnection = clspayment.Connection; mTransaction = clspayment.Transaction;

                foreach (Data.SalesTransactionDetails trandetails in salesDetails)
                {
                    // set the details
                    mclsSalesTransactionDetails = trandetails;
                    /*** 
                     * Print the Headers
                     * OFFICIAL RECEIPT #:
                     * Transaction Date 
                     * Item Header
                     ***/

                    PrintReportPageHeaderSection(true);

                    /*** 
                     * Print the Items
                     ***/
                    int itemno = 0;
                    decimal TotalItemSold = 0;
                    decimal iTotalQuantitySold = 0;
                    foreach (Data.SalesTransactionItemDetails item in trandetails.TransactionItems)
                    {
                        itemno++;
                        TotalItemSold++;
                        iTotalQuantitySold += item.Quantity;
                        string stProductCode = item.Description;
                        if (!string.IsNullOrEmpty(item.MatrixDescription)) stProductCode += "-" + item.MatrixDescription;
                        PrintItem(itemno.ToString(), stProductCode, item.ProductUnitCode, item.Quantity, item.Price, item.Discount, item.PromoApplied, item.Amount, item.VAT, item.EVAT, item.DiscountCode, item.ItemDiscountType);
                    }

                    /*** 
                     * Print the Footer
                     ***/
                    /*********************************************************************************/
                    PrintPageFooterASection();

                    if (trandetails.TransactionStatus == TransactionStatus.Refund)
                    {
                        if (trandetails.CashPayment != 0)
                            msbToPrint.Append("Cash Refund".PadRight(15) + ":" + trandetails.CashPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                        if (trandetails.ChequePayment != 0)
                        {
                            msbToPrint.Append("Cheque Refund".PadRight(15) + ":" + trandetails.ChequePayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);

                            arrChequePaymentDetails = new Data.ChequePayments(clspayment.Connection, clspayment.Transaction).Details(trandetails.BranchID, trandetails.TerminalNo, trandetails.TransactionID);

                            if (arrChequePaymentDetails != null)
                            {
                                foreach (Data.ChequePaymentDetails chequepaymentdet in arrChequePaymentDetails)
                                {
                                    //print cheque details
                                    msbToPrint.Append("Cheque No.".PadRight(15) + ":" + chequepaymentdet.ChequeNo.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append("Amount".PadRight(15) + ":" + chequepaymentdet.Amount.ToString("#,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append("Validity Date".PadRight(15) + ":" + chequepaymentdet.ValidityDate.ToString("yyyy-MM-dd").PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append(Environment.NewLine);
                                }
                            }
                        }

                        if (trandetails.CreditCardPayment != 0)
                        {
                            msbToPrint.Append("Credit Card Refund".PadRight(15) + ":" + trandetails.CreditCardPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);

                            arrCreditCardPaymentDetails = new Data.CreditCardPayments(clspayment.Connection, clspayment.Transaction).Details(trandetails.BranchID, trandetails.TerminalNo, trandetails.TransactionID);
                            if (arrCreditCardPaymentDetails != null)
                            {
                                foreach (Data.CreditCardPaymentDetails cardpaymentdet in arrCreditCardPaymentDetails)
                                {
                                    //print credit card details
                                    //print credit card details
                                    msbToPrint.Append("Card Type".PadRight(15) + ":" + cardpaymentdet.CardTypeCode.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append("Card No.".PadRight(15) + ":" + cardpaymentdet.CardNo.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (cardpaymentdet.CardHolder.Trim() != mclsSalesTransactionDetails.CustomerDetails.ContactName.Trim()) msbToPrint.Append("Member Name".PadRight(15) + ":" + cardpaymentdet.CardHolder.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (cardpaymentdet.Amount != mclsSalesTransactionDetails.AmountPaid) msbToPrint.Append("Amount".PadRight(15) + ":" + cardpaymentdet.Amount.ToString("#,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (cardpaymentdet.CardHolder != mclsSalesTransactionDetails.CustomerDetails.ContactName
                                        && !string.IsNullOrEmpty(cardpaymentdet.ValidityDates)) msbToPrint.Append("Validity Date".PadRight(15) + ":" + cardpaymentdet.ValidityDates.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append(Environment.NewLine);
                                }
                            }
                        }
                    }
                    else if (trandetails.TransactionStatus == TransactionStatus.Closed || trandetails.TransactionStatus == TransactionStatus.Reprinted || trandetails.TransactionStatus == TransactionStatus.Open || trandetails.TransactionStatus == TransactionStatus.CreditPayment)
                    {
                        msbToPrint.Append("-".PadRight(mclsTerminalDetails.MaxReceiptWidth, '-') + Environment.NewLine);

                        if (trandetails.CashPayment != 0)
                            msbToPrint.Append("Cash Payment".PadRight(15) + ":" + trandetails.CashPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                        if (trandetails.ChequePayment != 0)
                        {
                            msbToPrint.Append("Cheque Payment".PadRight(15) + ":" + trandetails.ChequePayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);

                            arrChequePaymentDetails = new Data.ChequePayments(clspayment.Connection, clspayment.Transaction).Details(trandetails.BranchID, trandetails.TerminalNo, trandetails.TransactionID);
                            if (arrChequePaymentDetails != null)
                            {
                                foreach (Data.ChequePaymentDetails chequepaymentdet in arrChequePaymentDetails)
                                {
                                    //print checque details
                                    msbToPrint.Append("Cheque No.".PadRight(15) + ":" + chequepaymentdet.ChequeNo.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append("Amount".PadRight(15) + ":" + chequepaymentdet.Amount.ToString("#,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append("Validity Date".PadRight(15) + ":" + chequepaymentdet.ValidityDate.ToString("yyyy-MM-dd").PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append(Environment.NewLine);
                                }
                            }
                        }

                        if (trandetails.CreditCardPayment != 0)
                        {
                            msbToPrint.Append("Credit Card Payment".PadRight(15) + ":" + trandetails.CreditCardPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);

                            arrCreditCardPaymentDetails = new Data.CreditCardPayments(clspayment.Connection, clspayment.Transaction).Details(trandetails.BranchID, trandetails.TerminalNo, trandetails.TransactionID);
                            if (arrCreditCardPaymentDetails != null)
                            {
                                foreach (Data.CreditCardPaymentDetails cardpaymentdet in arrCreditCardPaymentDetails)
                                {
                                    //print credit card details
                                    //print credit card details
                                    msbToPrint.Append("Card Type".PadRight(15) + ":" + cardpaymentdet.CardTypeCode.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append("Card No.".PadRight(15) + ":" + cardpaymentdet.CardNo.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (cardpaymentdet.CardHolder.Trim() != mclsSalesTransactionDetails.CustomerDetails.ContactName.Trim()) msbToPrint.Append("Member Name".PadRight(15) + ":" + cardpaymentdet.CardHolder.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (cardpaymentdet.Amount != mclsSalesTransactionDetails.AmountPaid) msbToPrint.Append("Amount".PadRight(15) + ":" + cardpaymentdet.Amount.ToString("#,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (cardpaymentdet.CardHolder != mclsSalesTransactionDetails.CustomerDetails.ContactName
                                        && !string.IsNullOrEmpty(cardpaymentdet.ValidityDates)) msbToPrint.Append("Validity Date".PadRight(15) + ":" + cardpaymentdet.ValidityDates.Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append(Environment.NewLine);
                                }
                            }
                        }
                        if (trandetails.CreditPayment != 0)
                        {
                            msbToPrint.Append("Credit Payment".PadRight(15) + ":" + trandetails.CreditPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 15) + Environment.NewLine);

                            arrCreditPaymentDetails = new Data.CreditPayments(clspayment.Connection, clspayment.Transaction).Details(trandetails.BranchID, trandetails.TerminalNo, trandetails.TransactionID);
                            if (arrCreditPaymentDetails != null)
                            {
                                foreach (Data.CreditPaymentDetails creditpaymentdet in arrCreditPaymentDetails)
                                {
                                    //print credit details
                                    msbToPrint.Append("Amount".PadRight(15) + ":" + creditpaymentdet.Amount.ToString("#,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    if (!string.IsNullOrEmpty(creditpaymentdet.Remarks)) msbToPrint.Append("Remarks".PadRight(15) + ":" + creditpaymentdet.Remarks + Environment.NewLine);
                                    msbToPrint.Append(Environment.NewLine);
                                }
                            }

                        }
                        if (trandetails.DebitPayment != 0)
                        {
                            msbToPrint.Append("Debit  Payment".PadRight(15) + ":" + trandetails.DebitPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 15) + Environment.NewLine);

                            arrDebitPaymentDetails = new Data.DebitPayments(clspayment.Connection, clspayment.Transaction).Details(trandetails.BranchID, trandetails.TerminalNo, trandetails.TransactionID);
                            if (arrDebitPaymentDetails != null)
                            {
                                foreach (Data.DebitPaymentDetails debitpaymentdet in arrDebitPaymentDetails)
                                {
                                    //print debit details
                                    msbToPrint.Append("Amount".PadRight(15) + ":" + debitpaymentdet.Amount.ToString("#,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                                    msbToPrint.Append(Environment.NewLine);
                                }
                            }
                        }
                        if (trandetails.RewardConvertedPayment != 0)
                        {
                            msbToPrint.Append("Reward Paymnt".PadRight(15) + ":" + trandetails.RewardConvertedPayment.ToString("###,##0.#0").Trim().PadLeft(mclsTerminalDetails.MaxReceiptWidth - 16) + Environment.NewLine);
                        }
                    }

                    if (trandetails.TransactionStatus == TransactionStatus.Suspended)
                    {
                        msbToPrint.Append(CenterString("This transaction is suspended", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                    }
                    else if (trandetails.TransactionStatus == TransactionStatus.Void)
                    {
                        msbToPrint.Append(CenterString("This transaction is VOID", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                    }
                    else if (trandetails.TransactionStatus == TransactionStatus.Reprinted)
                    {
                        msbToPrint.Append(CenterString("This transaction is reprinted as of ", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                        msbToPrint.Append(CenterString(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt"), mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                    }
                    else if (trandetails.TransactionStatus == TransactionStatus.Refund)
                    {
                        msbToPrint.Append(CenterString("This transaction is a REFUND", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                    }
                    else if (trandetails.TransactionStatus == TransactionStatus.CreditPayment)
                    {
                        if (mclsSysConfigDetails.WillPrintCreditPaymentHeader)
                            msbToPrint.Append(CenterString("------CREDIT PAYMENT--------", mclsTerminalDetails.MaxReceiptWidth) + Environment.NewLine);
                    }

                    PrintPageFooterBSection();
                    /*********************************************************************************/
                    msbToPrint.Append(Environment.NewLine + "=".PadRight(mclsTerminalDetails.MaxReceiptWidth, '=') + Environment.NewLine);
                }

                clspayment.CommitAndDispose();

                PrintPageAndReportFooterSection(false, DateTime.MinValue);

                mclsTerminalDetails.AutoPrint = oldCONFIG_AutoPrint;

                InsertAuditLog(AccessTypes.PrintElectronicJournal, "Print Electronic Journal report: TerminalNo=" + mclsTerminalDetails.TerminalNo + " Cashier".PadRight(15) + ":" + mCashierName + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode);
            }
            catch (Exception ex)
            {
                InsertErrorLogToFile(ex, "ERROR!!! Printing Electronic Journal report. Err Description: ");
            }
            Cursor.Current = Cursors.Default;
        }
Example #13
0
        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
        }
Example #14
0
		private void SavePayments(decimal AmountPaid, decimal CashPayment, decimal ChequePayment, decimal CreditCardPayment, decimal DebitPayment, ArrayList arrCashPaymentDetails, ArrayList arrChequePaymentDetails, ArrayList arrCreditCardPaymentDetails, ArrayList arrDebitPaymentDetails)
		{
			Data.Payment clsPayment = new Data.Payment();

			if (CashPayment > 0)
				SaveCashPayment(clsPayment, arrCashPaymentDetails);
			
			if (ChequePayment > 0)
				SaveChequePayment(clsPayment, arrChequePaymentDetails);

			if (CreditCardPayment > 0)
				SaveCreditCardPayment(clsPayment, arrCreditCardPaymentDetails);

			if (DebitPayment > 0)
				SaveDebitPayment(clsPayment, arrDebitPaymentDetails);

			clsPayment.CommitAndDispose();
		}