/// <summary>
        /// Apply Load GiftCard Item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void applyBtn_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(txtGiftCardNumber.Text))
                {
                    lblEmptyCardNumberError.Visible = true;
                    lblEmptyCardNumberError.Text    = "Please enter gift card number.";
                }
                else
                {
                    try
                    {
                        FinancialCard financialCardHelper = new FinancialCard(txtGiftCardNumber.Text);
                        txtGiftCardNumber.Text = financialCardHelper.CardNumber;
                    }
                    catch (Exception ex)
                    {
                        _logger.WriteLogError(ex, "FinancialCard for swap Load GiftCard");
                    }

                    lblEmptyCardNumberError.Visible = false;
                    if (!string.IsNullOrWhiteSpace(txtGiftCardNumber.Text))
                    {
                        CalculateTransactionHelper transaction = new CalculateTransactionHelper();

                        string checkLoadGiftCrad = transaction.CheckLoadGiftCard(txtGiftCardNumber.Text);

                        if (!string.IsNullOrWhiteSpace(checkLoadGiftCrad))
                        {
                            this.Hide();
                            frmLoadGiftCardWarning loadGiftCardWarning = new frmLoadGiftCardWarning(checkLoadGiftCrad);
                            loadGiftCardWarning.ShowDialog();
                            this.Show();
                        }
                        else
                        {
                            CalculateCartCommand request = null;
                            if (_calculatedCart != null && _calculatedCart.Cart != null && _calculatedCart.Cart.Lines != null && _calculatedCart.Cart.Lines.Any())
                            {
                                var line = _calculatedCart.Cart.Lines.ToList().Find(t => t.ProductName.Equals(_loadGiftItem, StringComparison.InvariantCultureIgnoreCase) && t.ProductExternalId.Equals(_loadMenuItem.TIID));
                                if (line != null)
                                {
                                    line.GiftCardNumber = txtGiftCardNumber.Text;
                                    _giftCardNumber     = txtGiftCardNumber.Text;
                                }
                                else
                                {
                                    var newline = new CartLine {
                                        ProductName = _loadMenuItem.ItemName, ProductCode = _loadMenuItem.ID, GiftCardNumber = txtGiftCardNumber.Text, Price = _loadMenuItem.Price / _loadMenuItem.Quantity, Quantity = _loadMenuItem.Quantity, ExternalId = _loadMenuItem.ID, ProductExternalId = _loadMenuItem.TIID
                                    };
                                    _calculatedCart.Cart.Lines.Add(newline);
                                }
                                request = new CalculateCartCommand()
                                {
                                    Cart = _calculatedCart.Cart,
                                    Uid  = _calculatedCart.Cart.Uid
                                };
                            }
                            else
                            {
                                var cart = new Cart {
                                    Lines = new List <CartLine>(), SourceExternalId = _currentOpenTicketId.ToString()
                                };
                                var cartLineHelper = new CartLineHelper();

                                var lines = cartLineHelper.GetCartLines(_ticket);

                                if (lines != null && lines.Any())
                                {
                                    var line = lines.ToList().Find(t => t.ProductName.Equals(_loadGiftItem, StringComparison.InvariantCultureIgnoreCase) && t.ProductExternalId.Equals(_loadMenuItem.TIID));
                                    if (line != null)
                                    {
                                        line.GiftCardNumber = txtGiftCardNumber.Text;
                                        _giftCardNumber     = txtGiftCardNumber.Text;
                                    }
                                    cart.Lines = lines;
                                    request    = new CalculateCartCommand()
                                    {
                                        Cart = cart
                                    };
                                }
                            }

                            if (request != null)
                            {
                                _services.CalculateCart(request);
                            }

                            this.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.WriteLogError(ex, "bLoyal Load GiftCard applyBtn_Click");
            }
        }
        public override void ButtonPressed(object parentForm, Dinerware.TicketCollection theTickets, Dinerware.Ticket currentTicket, Dinerware.User currentUser, Dinerware.Person currentCustomer)
        {
            try
            {
                if (!ConfigurationHelper.Instance.IS_Test_Virtual_Client_Connection || !ConfigurationHelper.Instance.IS_Test_BLoyal_Connection)
                {
                    frmConfigurationSettingsWarning frmConfigurationSettingsWarning = new frmConfigurationSettingsWarning();
                    frmConfigurationSettingsWarning.ShowDialog();
                    return;
                }
                if (currentTicket != null)
                {
                    currentOpenTicket   = currentTicket;
                    currentOpenTicketId = currentTicket.ID;
                    currentUserId       = currentUser.ID;
                }
                else
                {
                    currentOpenTicket   = null;
                    currentOpenTicketId = string.Empty;
                    currentUserId       = string.Empty;
                }

                var configurationHelper = ConfigurationHelper.Instance;
                if (configurationHelper.ENABLE_bLOYAL)
                {
                    if (!string.IsNullOrWhiteSpace(configurationHelper.GIFTCARD_TENDER_CODE))
                    {
                        if (!ServiceURLHelper.IsbLoyalServiceUrlDown)
                        {
                            int ticketId = 0;
                            int.TryParse(currentOpenTicketId, out ticketId);

                            if (ticketId != 0)
                            {
                                if (!ServiceURLHelper.IsbLoyalServiceUrlDown)
                                {
                                    // Load Gift Card Tender Window
                                    frmLoadGiftCardWarning loadGiftCardWarning = null;

                                    var loadGiftCardItems = configurationHelper.LOAD_GIFTCARD_ITEMS.Where(p => currentTicket.Items.Any(p2 => p2.ItemName.Equals(p, StringComparison.InvariantCultureIgnoreCase)));
                                    if (loadGiftCardItems != null && loadGiftCardItems.Any())
                                    {
                                        foreach (var loadGiftItem in loadGiftCardItems)
                                        {
                                            var loadGiftCardMenuItems = currentTicket.Items.ToList().FindAll(t => t.ItemName.Equals(loadGiftItem, StringComparison.InvariantCultureIgnoreCase));
                                            if (loadGiftCardMenuItems != null)
                                            {
                                                foreach (var loadItem in loadGiftCardMenuItems)
                                                {
                                                    var service        = new LoyaltyEngineServices();
                                                    var calculatedCart = AsyncHelper.RunSync(() => service.GetCartBySourceExternalIdAsync(currentTicket.ID));

                                                    bLoyal.Connectors.LoyaltyEngine.CartLine giftCartLine = null;
                                                    if (calculatedCart != null && calculatedCart.Cart != null && calculatedCart.Cart.Lines != null && calculatedCart.Cart.Lines.Any())
                                                    {
                                                        giftCartLine = calculatedCart.Cart.Lines.FirstOrDefault(t => t.ProductName.Equals(loadGiftItem, StringComparison.InvariantCultureIgnoreCase) && !string.IsNullOrWhiteSpace(t.GiftCardNumber) && !string.IsNullOrWhiteSpace(t.ProductExternalId) && t.ProductExternalId.Equals(loadItem.TIID));
                                                    }

                                                    if (giftCartLine == null || string.IsNullOrWhiteSpace(giftCartLine.GiftCardNumber))
                                                    {
                                                        frmLoadGiftCardBalance loadGiftCardBalance = new frmLoadGiftCardBalance(ticketId, string.Empty, currentTicket, loadItem, calculatedCart, loadGiftItem);
                                                        loadGiftCardBalance.ShowDialog();
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        loadGiftCardWarning = new frmLoadGiftCardWarning(Messages.ADD_LOAD_GIFTCARD_WARNING);
                                        loadGiftCardWarning.ShowDialog();
                                    }
                                }
                                else
                                {
                                    if (ServiceURLHelper.IsbLoyalServiceUrlDown)
                                    {
                                        frmbLoyalServiceUrlDownWarning frmServiceUrlDown = new frmbLoyalServiceUrlDownWarning();
                                        frmServiceUrlDown.ShowDialog();
                                    }
                                }
                            }
                            else
                            {
                                frmShowWarningMessage frmshowWarning = new frmShowWarningMessage();
                                frmshowWarning.ShowDialog();
                            }
                        }
                        else
                        {
                            frmbLoyalServiceUrlDownWarning frmServiceUrlDown = new frmbLoyalServiceUrlDownWarning();
                            frmServiceUrlDown.ShowDialog();
                        }
                    }
                    else
                    {
                        frmCheckGiftCardWarning giftCardWarning = new frmCheckGiftCardWarning();
                        giftCardWarning.ShowDialog();
                    }
                }
                else
                {
                    DisableEnablebLoyalFunctionality disableEnablebLoyal = new DisableEnablebLoyalFunctionality();
                    disableEnablebLoyal.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                LoggerHelper.Instance.WriteLogError(ex, "bLoyalLoadGiftCard OEButtonPressed");
            }
        }