public void updateVisualRepresentation() { // Collection<ModifierButton> modifierButtons = buttonMap.values(); // for (ModifierButton modifierButton : modifierButtons) { // modifierButton.updateView(null); // } List<TicketItemModifierGroup> ticketItemModifierGroups = parentTicketItem.getTicketItemModifierGroups(); if (ticketItemModifierGroups != null) { for (TicketItemModifierGroup ticketItemModifierGroup : ticketItemModifierGroups) { List<TicketItemModifier> ticketItemModifiers = ticketItemModifierGroup.getTicketItemModifiers(); if (ticketItemModifiers != null) { int total = 0; int max = ticketItemModifierGroup.getMaxQuantity(); for (TicketItemModifier ticketItemModifier : ticketItemModifiers) { String key = ticketItemModifier.getItemId() + "_" + ticketItemModifier.getGroupId(); ModifierButton button = buttonMap.get(key); if (ticketItemModifier.getModifierType() != TicketItemModifier.NO_MODIFIER) { total += ticketItemModifier.getItemCount(); if (total > max) { ticketItemModifier.setModifierType(TicketItemModifier.EXTRA_MODIFIER); } else { ticketItemModifier.setModifierType(TicketItemModifier.NORMAL_MODIFIER); } } button.updateView(ticketItemModifier); } } } } }
public Ticket loadFullTicket(int id) { Session session = createNewSession(); Ticket ticket = (Ticket) session.get(getReferenceClass(), id); if (ticket == null) return null; Hibernate.initialize(ticket.getTicketItems()); Hibernate.initialize(ticket.getCouponAndDiscounts()); Hibernate.initialize(ticket.getTransactions()); List<TicketItem> ticketItems = ticket.getTicketItems(); if (ticketItems != null) { for (TicketItem ticketItem : ticketItems) { List<TicketItemModifierGroup> ticketItemModifierGroups = ticketItem.getTicketItemModifierGroups(); Hibernate.initialize(ticketItemModifierGroups); if (ticketItemModifierGroups != null) { for (TicketItemModifierGroup ticketItemModifierGroup : ticketItemModifierGroups) { Hibernate.initialize(ticketItemModifierGroup.getTicketItemModifiers()); } } } } session.close(); return ticket; }
@Override public void doGoBack() { List<MenuItemModifierGroup> menuItemModifierGroups = parentMenuItem.getMenuItemModiferGroups(); List<TicketItemModifierGroup> ticketItemModifierGroups = parentTicketItem.getTicketItemModifierGroups(); boolean requiredModifierAdded = true; if (menuItemModifierGroups != null) { outer: for (MenuItemModifierGroup menuItemModifierGroup : menuItemModifierGroups) { int minQuantity = menuItemModifierGroup.getMinQuantity(); if (minQuantity == 0) continue; if (ticketItemModifierGroups == null) { requiredModifierAdded = false; break outer; } for (TicketItemModifierGroup ticketItemModifierGroup : ticketItemModifierGroups) { if (ticketItemModifierGroup.countItems(false) < minQuantity) { requiredModifierAdded = false; break outer; } } } } if (!requiredModifierAdded) { int option = JOptionPane.showConfirmDialog( this, "Some required modifiers are not added, do you really want to go back?", "Confirm", JOptionPane.YES_NO_OPTION); if (option != JOptionPane.YES_OPTION) { return; } } fireModifierSelectionFinished(); }
public void actionPerformed(ActionEvent e) { TicketItemModifierGroup ticketItemModifierGroup = parentTicketItem.findTicketItemModifierGroup(menuModifier, true); int modifierCount = ticketItemModifierGroup.countItems(true); int maxModifier = ticketItemModifierGroup.getMaxQuantity(); TicketItemModifier ticketItemModifier = ticketItemModifierGroup.findTicketItemModifier(menuModifier); TicketView ticketView = OrderView.getInstance().getTicketView(); if (ticketItemModifier == null) { TicketItemModifier m = ticketItemModifierGroup.addTicketItemModifier( menuModifier, modifierCount >= maxModifier ? TicketItemModifier.EXTRA_MODIFIER : TicketItemModifier.NORMAL_MODIFIER); updateView(m); ticketView.updateAllView(); ticketView.selectRow(m.getTableRowNum()); return; } int modifierType = TicketItemModifier.MODIFIER_NOT_INITIALIZED; if (ticketItemModifier.getModifierType() != null) { modifierType = ticketItemModifier.getModifierType().intValue(); } switch (modifierType) { case TicketItemModifier.MODIFIER_NOT_INITIALIZED: ticketItemModifier.setModifierType(TicketItemModifier.NORMAL_MODIFIER); updateVisualRepresentation(); ticketView.updateAllView(); ticketView.selectRow(ticketItemModifier.getTableRowNum()); break; case TicketItemModifier.NORMAL_MODIFIER: case TicketItemModifier.EXTRA_MODIFIER: ticketItemModifier.setModifierType(TicketItemModifier.NO_MODIFIER); updateVisualRepresentation(); ticketView.updateAllView(); ticketView.selectRow(ticketItemModifier.getTableRowNum()); break; case TicketItemModifier.NO_MODIFIER: ticketItemModifier.setModifierType(TicketItemModifier.MODIFIER_NOT_INITIALIZED); ticketItemModifierGroup.removeTicketItemModifier(ticketItemModifier); updateView(ticketItemModifier); updateVisualRepresentation(); ticketView.updateAllView(); ticketView.selectRow(ticketItemModifier.getTableRowNum() - 1); break; } }