/// <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"); } }