Example #1
0
    public OrderDTO createOrder(Integer itemId, BigDecimal quantity) throws TaskException {
      // copy the current order
      OrderDTO newOrder = new OrderDTO(order);
      newOrder.setId(0);
      newOrder.setVersionNum(null);
      // the period needs to be in the session
      newOrder.setOrderPeriodId(order.getOrderPeriod().getId());
      // the status should be active
      newOrder.setOrderStatus(
          new OrderStatusDAS()
              .find(
                  new OrderStatusDAS().getDefaultOrderStatusId(OrderStatusFlag.INVOICE, entityId)));
      // but without the lines
      newOrder.getLines().clear();
      // but do get the new line in
      OrderManager helper = new OrderManager(newOrder, language, userId, entityId, currencyId);
      OrderLineDTO newLine = helper.addItem(itemId, quantity);
      newLine.setPurchaseOrder(newOrder);
      newLine.setDefaults();

      return new OrderDAS().save(newOrder);
    }