/// <summary>
        /// Apply Loyalty Tender
        /// </summary>
        /// <param name="tenderId"></param>
        /// <param name="applyBalance"></param>
        private void ApplyLoyaltyTender(int tenderId, decimal applyBalance)
        {
            try
            {
                _paymentEngine = new PaymentEngineConnector(_conFigHelper.LOGIN_DOMAIN, _conFigHelper.ACCESS_KEY, string.Empty, string.Empty, null);

                _transactionCode = _paymentEngine.CardRedeem(string.Empty, _conFigHelper.LOYALTY_TENDER_CODE, _cartExternalId, applyBalance, _customer.Uid);

                if (!string.IsNullOrWhiteSpace(_transactionCode))
                {
                    _applyAmount = applyBalance;

                    var response = _dwProvider.AddTransactionToTicket(_currentUserId, _currentOpenTicketId, new wsTransaction
                    {
                        PaymentAmount = applyBalance,
                        TenderType    = Constants.BLOYALLOYALTYTENDER,
                        TenderTypeID  = tenderId,
                        RefNumber     = _transactionCode
                    });

                    if (response.Result == TicketChangeResult.Success)
                    {
                        this.Close();
                    }
                }
                lblApplyBalanceError.Text = Messages.SERVICE_UNAVAILBLE_WARNING;
            }
            catch (Exception ex)
            {
                _logger.WriteLogError(ex, "ApplyLoyaltyTender");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Add Payment Transaction to Ticket
        /// </summary>
        /// <param name="tenderId"></param>
        /// <param name="applyBalanceAmt"></param>
        private bool AddTransactionToTicket(int tenderId, decimal applyBalanceAmt)
        {
            bool result = false;

            try
            {
                _transactionCode = _paymentEngine.CardRedeem(txtGiftCardNumber.Text, _conFigHelper.GIFTCARD_TENDER_CODE, _cartExternalId, applyBalanceAmt);

                if (!string.IsNullOrWhiteSpace(_transactionCode))
                {
                    var changeResult = _dinerwareProvider.AddTransactionToTicket(_currentUserId, _currentOpenTicketId, new wsTransaction
                    {
                        PaymentAmount = applyBalanceAmt,
                        TenderType    = Constants.BLOYALGIFTCARDTENDER,
                        TenderTypeID  = tenderId,
                        RefNumber     = _transactionCode
                    });

                    if (changeResult.Result == TicketChangeResult.Success)
                    {
                        _giftCardNumber = txtGiftCardNumber.Text;
                        decimal.TryParse(textApplyBalance.Text, out _applyAmount);
                        result = true;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.WriteLogError(ex, "bLoyal Gift Card ApplyAllAvailableBalance");
            }
            return(result);
        }
        /// <summary>
        /// Credit Load GiftCard Item
        /// </summary>
        /// <param name="calculatedCart"></param>
        /// <param name="amount"></param>
        /// <param name="giftCardNumber"></param>
        /// <param name="ticketId"></param>
        /// <returns></returns>
        public bool CreditLoadGiftCardItem(CalculatedCart calculatedCart, decimal amount, string giftCardNumber, string ticketId, CartLine line)
        {
            bool result = false;

            try
            {
                _paymentEngine = new PaymentEngineConnector(_configurationHelper.LOGIN_DOMAIN, _configurationHelper.ACCESS_KEY, string.Empty, string.Empty, null);

                string transCode = _paymentEngine.CardRedeem(giftCardNumber, _configurationHelper.GIFTCARD_TENDER_CODE, ticketId, amount);

                result = !string.IsNullOrWhiteSpace(transCode);
            }
            catch (Exception ex)
            {
                _logger.WriteLogError(ex, "CalculateTransaction CreditLoadGiftCardItem");
            }
            return(result);
        }