1 <?php
2
3 4 5 6 7 8 9 10 11
12
13 MainFactory::load_class('OrderItemFactoryInterface');
14
15 16 17 18 19 20 21
22 class OrderItemFactory implements OrderItemFactoryInterface
23 {
24 25 26 27 28 29 30
31 public function createOrderItem(StringType $name)
32 {
33 return MainFactory::create('OrderItem', $name);
34 }
35
36
37 38 39 40 41 42 43 44 45
46 public function createStoredOrderItem(IdType $orderItemId, OrderItemInterface $orderItem = null)
47 {
48 $storedOrderItem = MainFactory::create('StoredOrderItem', $orderItemId);
49
50 if($orderItem !== null)
51 {
52 $storedOrderItem->setProductModel(new StringType($orderItem->getProductModel()));
53 $storedOrderItem->setName(new StringType($orderItem->getName()));
54 $storedOrderItem->setPrice(new DecimalType($orderItem->getPrice()));
55 $storedOrderItem->setQuantity(new DecimalType($orderItem->getQuantity()));
56 $storedOrderItem->setTax(new DecimalType($orderItem->getTax()));
57 $storedOrderItem->setTaxAllowed(new BoolType($orderItem->isTaxAllowed()));
58 $storedOrderItem->setDiscountMade(new DecimalType($orderItem->getDiscountMade()));
59 $storedOrderItem->setShippingTimeInfo(new StringType($orderItem->getShippingTimeInfo()));
60 $storedOrderItem->setCheckoutInformation(new StringType($orderItem->getCheckoutInformation()));
61 $storedOrderItem->setAttributes($orderItem->getAttributes());
62 $storedOrderItem->setQuantityUnitName(new StringType($orderItem->getQuantityUnitName()));
63 $storedOrderItem->setDownloadInformation($orderItem->getDownloadInformation());
64 }
65
66 return $storedOrderItem;
67 }
68 }