@Override public List<OrderMultishipOption> getOrderMultishipOptionsFromDTOs(Order order, List<OrderMultishipOptionDTO> optionDtos) { List<OrderMultishipOption> orderMultishipOptions = new ArrayList<OrderMultishipOption>(); for (OrderMultishipOptionDTO optionDto : optionDtos) { OrderMultishipOption option = new OrderMultishipOptionImpl(); if (optionDto.getAddressId() != null) { option.setAddress(addressService.readAddressById(optionDto.getAddressId())); } if (optionDto.getFulfillmentOptionId() != null) { option.setFulfillmentOption(fulfillmentOptionService.readFulfillmentOptionById(optionDto.getFulfillmentOptionId())); } option.setId(optionDto.getId()); option.setOrder(order); option.setOrderItem(orderItemService.readOrderItemById(optionDto.getOrderItemId())); orderMultishipOptions.add(option); } return orderMultishipOptions; }
Integer count = orderDiscreteOrderItemCounts.get(option.getOrderItem().getId()); if (count == null || count == 0) { optionsToRemove.add(option); } else { count--; orderDiscreteOrderItemCounts.put(option.getOrderItem().getId(), count);
protected List<OrderMultishipOption> createPopulatedOrderMultishipOption(Order order, DiscreteOrderItem item, Integer quantity) { List<OrderMultishipOption> orderMultishipOptions = new ArrayList<OrderMultishipOption>(); if (!fulfillmentGroupService.isShippable(item.getSku().getFulfillmentType()) || quantity == 0) { return orderMultishipOptions; } // for (int i = 0; i < quantity; i++) { OrderMultishipOption orderMultishipOption = new OrderMultishipOptionImpl(); orderMultishipOption.setOrder(order); orderMultishipOption.setOrderItem(item); orderMultishipOptions.add(orderMultishipOption); // } return orderMultishipOptions; } }
@Override public List<OrderMultishipOption> answer() throws Throwable { List<OrderMultishipOption> options = new ArrayList<OrderMultishipOption>(); PromotableOrder order = dataProvider.createBasicPromotableOrder(); for (FulfillmentGroup fg : order.getOrder().getFulfillmentGroups()) { Address address = fg.getAddress(); for (FulfillmentGroupItem fgItem : fg.getFulfillmentGroupItems()) { for (int j = 0; j < fgItem.getQuantity(); j++) { OrderMultishipOption option = new OrderMultishipOptionImpl(); option.setOrder(order.getOrder()); option.setAddress(address); option.setOrderItem(fgItem.getOrderItem()); options.add(option); } } } return options; } }).anyTimes();
String key = getKey(option.getAddress(), option.getFulfillmentOption(), ((DiscreteOrderItem) option.getOrderItem()).getSku().getFulfillmentType()); FulfillmentGroup fg = multishipGroups.get(key); if (option.getAddress() != null) { fgr.setAddress(option.getAddress()); if (option.getFulfillmentOption() != null) { fgr.setOption(option.getFulfillmentOption()); fgr.setFulfillmentType(((DiscreteOrderItem) option.getOrderItem()).getSku().getFulfillmentType()); fgItemOrderItems.add(option.getOrderItem()); fgItemOrderItems.addAll(option.getOrderItem().getChildOrderItems());
@Override public CreateResponse<OrderMultishipOption> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<OrderMultishipOption> createResponse = context.createOrRetrieveCopyInstance(this); if (createResponse.isAlreadyPopulated()) { return createResponse; } OrderMultishipOption cloned = createResponse.getClone(); cloned.setAddress(address.createOrRetrieveCopyInstance(context).getClone()); cloned.setFulfillmentOption(fulfillmentOption.createOrRetrieveCopyInstance(context).getClone()); cloned.setOrder(order); cloned.setOrderItem(orderItem.createOrRetrieveCopyInstance(context).getClone()); return createResponse; } }
Map<Long, OrderMultishipOption> currentOptions = new HashMap<Long, OrderMultishipOption>(); for (OrderMultishipOption option : findOrderMultishipOptions(order.getId())) { currentOptions.put(option.getId(), option); option.setOrder(order); option.setOrderItem(orderItemService.readOrderItemById(dto.getOrderItemId())); option.setAddress(addressService.readAddressById(dto.getAddressId())); } else { option.setAddress(null); option.setFulfillmentOption(fulfillmentOptionService.readFulfillmentOptionById(dto.getFulfillmentOptionId())); } else { option.setFulfillmentOption(null);
for (int j=0;j<fgItem.getQuantity();j++) { OrderMultishipOption option = new OrderMultishipOptionImpl(); option.setOrder(order); option.setAddress(address); option.setOrderItem(fgItem.getOrderItem()); option.setFulfillmentOption(fg.getFulfillmentOption()); options.add(option);