PluginProbe
AliNext – WooCommerce Dropshipping Plugin for AliExpress / trunk
AliNext – WooCommerce Dropshipping Plugin for AliExpress vtrunk
ali2woo-lite / includes / classes / factory / PurchaseCodeInfoFactory.php

PurchaseCodeInfoFactory.php in AliNext – WooCommerce Dropshipping Plugin for AliExpress trunk, at includes/classes/factory/PurchaseCodeInfoFactory.php

51 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Description of PurchaseCodeInfoFactory
4 *
5 * @author Ali2Woo Team
6 *
7 */
8
9 namespace AliNext_Lite;;
10
11 class PurchaseCodeInfoFactory
12 {
13 public function buildFromData(array $data): PurchaseCodeInfo
14 {
15 if (!empty($data[PurchaseCodeInfo::FIELD_LIMITS])) {
16 $limits = (new PurchaseCodeInfoLimits())
17 ->setAll($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_ALL])
18 ->setProduct($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_PRODUCT])
19 ->setCategory($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_CATEGORY])
20 ->setProducts($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_PRODUCTS])
21 ->setDescription($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_DESCRIPTION])
22 ->setOrders($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_ORDERS])
23 ->setShipping($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_SHIPPING])
24 ->setReviews($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_REVIEWS])
25 ->setSites($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_SITES])
26 ->setSyncProduct($data[PurchaseCodeInfo::FIELD_LIMITS][PurchaseCodeInfoLimits::FIELD_SYNC_PRODUCT]);
27 }
28
29 if (isset($data[PurchaseCodeInfo::FIELD_COUNT])) {
30 $count = (new PurchaseCodeInfoCount())
31 ->setProduct($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_PRODUCT] ?? null)
32 ->setCategory($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_CATEGORY] ?? null)
33 ->setProducts($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_PRODUCTS] ?? null)
34 ->setDescription($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_DESCRIPTION] ?? null)
35 ->setOrders($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_ORDERS] ?? null)
36 ->setShipping($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_SHIPPING] ?? null)
37 ->setReviews($data[PurchaseCodeInfo::FIELD_COUNT][PurchaseCodeInfoLimits::FIELD_REVIEWS] ?? null);
38 }
39
40 return (new PurchaseCodeInfo())
41 ->setMessage($data[PurchaseCodeInfo::FIELD_MESSAGE] ?? null)
42 ->setTariffCode($data[PurchaseCodeInfo::FIELD_TARIFF_CODE] ?? null)
43 ->setTariffFrom($data[PurchaseCodeInfo::FIELD_TARIFF_FROM] ?? null)
44 ->setTariffTo($data[PurchaseCodeInfo::FIELD_TARIFF_TO] ?? null)
45 ->setValidFrom($data[PurchaseCodeInfo::FIELD_VALID_FROM] ?? null)
46 ->setValidTo($data[PurchaseCodeInfo::FIELD_VALID_TO] ?? null)
47 ->setCount($count ?? null)
48 ->setLimits($limits ?? null);
49 }
50 }
51