コード例 #1
0
  @Override
  public boolean execute() {
    LOGGER.debug("StonesListShowItem.execute()");

    if (controller.getListOfStones().isEmpty())
      controller.getWindow().showError("\nСписок каменів пустий !");
    else controller.getWindow().showCollection(controller.getListOfStones(), "\nСписок каменів:");

    return false;
  }
コード例 #2
0
ファイル: NewBuyItem.java プロジェクト: Uhbyxer/jLab10HW
  @Override
  public boolean execute() {
    LOGGER.debug("NewBuyItem.execute()");

    if (controller.getListOfStones().isEmpty()) {
      controller.getWindow().showError("\nСписок каменів пустий !");
      return false;
    }
    if (controller.getCurrentClient() == null) {
      controller.getWindow().showError("\nНе вибрано клієнта !");
      return false;
    }

    LOGGER.debug("getBucketOfStones().clear()");
    controller.getBucketOfStones().clear();
    controller.getWindow().showCollection(controller.getListOfStones(), "\nСписок каменів:");

    Set<Integer> setOfId = new HashSet<>();
    for (Stone s : controller.getListOfStones()) setOfId.add(s.getId());

    setOfId.add(-1);

    for (; ; ) {

      int index =
          controller
              .getWindow()
              .enterInt("\nВиберіть номер каменя: " + "(-1 --> Завершити покупку): ", setOfId);

      if (index == -1) {
        controller.getWindow().showMessage("Покупку завершено !");
        controller
            .getWindow()
            .showMessage("Загальна вага: " + controller.getBucketOfStones().getWeight());
        controller
            .getWindow()
            .showMessage("Загальна вартість: " + controller.getBucketOfStones().getValue());
        break;
      }

      try {
        Stone stone = controller.getListOfStones().getStoneById(index);
        if (stone == null) throw new BaseJewelryException("Нульовий вказівник");

        controller.getBucketOfStones().add(stone);
        LOGGER.info("getBucketOfStones().add(stone)");

        controller.getWindow().showMessage("Додано в кошик: \n" + stone.toString());
        controller.getWindow().showMessage("-----------------------------------------------------");
        controller.getWindow().showMessage(stone.promote(controller.getCurrentClient()));
        controller.getWindow().showMessage("-----------------------------------------------------");

      } catch (BaseJewelryException e) {
        controller.getWindow().showError(e + "\n" + e.getCause());
      }
    }

    return false;
  }