4
4
5
5
use GuzzleHttp \Client ;
6
6
use rutgerkirkels \ShopConnectors \Entities \Credentials \CredentialsInterface ;
7
+ use rutgerkirkels \ShopConnectors \Helpers \DateTime ;
7
8
use rutgerkirkels \ShopConnectors \Models \Customer ;
8
9
use rutgerkirkels \ShopConnectors \Models \DateRange ;
9
10
use rutgerkirkels \ShopConnectors \Models \DeliveryAddress ;
@@ -40,6 +41,7 @@ public function __construct(string $host, CredentialsInterface $credentials)
40
41
/**
41
42
* @param DateRange $dateRange
42
43
* @return array
44
+ * @throws \Exception
43
45
*/
44
46
public function getOrdersByOrderDate (DateRange $ dateRange )
45
47
{
@@ -56,14 +58,18 @@ public function getOrdersByOrderDate(DateRange $dateRange)
56
58
57
59
$ orders = [];
58
60
foreach ($ response ->Order as $ bolOrder ) {
59
- $ order = new Order ();
60
- $ order ->setDate ($ this ->getTimestamp ($ bolOrder ->DateTimeCustomer ));
61
- $ order ->setCustomer ($ this ->getCustomer ($ bolOrder ));
62
- $ order ->setInvoiceAddress ($ this ->getAddress ($ bolOrder ->CustomerDetails ->BillingDetails , InvoiceAddress::class));
63
- $ order ->setDeliveryAddress ($ this ->getAddress ($ bolOrder ->CustomerDetails ->ShipmentDetails , DeliveryAddress::class));
64
- $ order ->setOrderLines ($ this ->getOrderlines ($ bolOrder ->OrderItems ->OrderItem ));
65
- $ order ->setExternalData ($ this ->getExternalData ($ bolOrder ));
66
- $ orders [] = $ order ;
61
+ $ orderTimestamp = $ this ->getTimestamp ($ bolOrder ->DateTimeCustomer );
62
+ if ($ orderTimestamp >= $ dateRange ->getStart () && $ orderTimestamp <= $ dateRange ->getEnd ()) {
63
+ $ order = new Order ();
64
+ $ order ->setDate ($ this ->getTimestamp ($ bolOrder ->DateTimeCustomer ));
65
+ $ order ->setCustomer ($ this ->getCustomer ($ bolOrder ));
66
+ $ order ->setInvoiceAddress ($ this ->getAddress ($ bolOrder ->CustomerDetails ->BillingDetails , InvoiceAddress::class));
67
+ $ order ->setDeliveryAddress ($ this ->getAddress ($ bolOrder ->CustomerDetails ->ShipmentDetails , DeliveryAddress::class));
68
+ $ order ->setOrderLines ($ this ->getOrderlines ($ bolOrder ->OrderItems ->OrderItem ));
69
+ $ order ->setExternalData ($ this ->getExternalData ($ bolOrder ));
70
+ $ orders [] = $ order ;
71
+ }
72
+
67
73
}
68
74
69
75
return $ orders ;
@@ -72,10 +78,20 @@ public function getOrdersByOrderDate(DateRange $dateRange)
72
78
/**
73
79
* @param \SimpleXMLElement $bolOrder
74
80
* @return Customer
81
+ * @throws \Exception
75
82
*/
76
83
protected function getCustomer (\SimpleXMLElement $ bolOrder )
77
84
{
78
85
$ customer = new Customer ();
86
+ switch ($ bolOrder ->CustomerDetails ->BillingDetails ->SalutationCode ) {
87
+ case '01 ' :
88
+ $ customer ->setGender ('male ' );
89
+ break ;
90
+
91
+ case '02 ' :
92
+ $ customer ->setGender ('female ' );
93
+ break ;
94
+ }
79
95
$ customer ->setFirstName ($ bolOrder ->CustomerDetails ->BillingDetails ->Firstname );
80
96
$ customer ->setLastName ($ bolOrder ->CustomerDetails ->BillingDetails ->Surname );
81
97
$ customer ->setEmail ($ bolOrder ->CustomerDetails ->BillingDetails ->Email );
0 commit comments