PluginProbe
seQura / 4.0.0
seQura v4.0.0
4.3.4 4.3.3 4.3.2 4.3.1 trunk 2.0.0 2.0.10 2.0.11 2.0.12 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 3.0.0 3.0.2 3.0.5 3.0.6 3.0.7 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 4.0.0 All 30 releases
sequra / src / Services / Order / Builder / class-order-address-builder.php

class-order-address-builder.php in seQura 4.0.0, at src/Services/Order/Builder/class-order-address-builder.php

58 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Order Address Builder Interface
4 *
5 * @package SeQura/WC
6 * @subpackage SeQura/WC/Services
7 */
8
9 namespace SeQura\WC\Services\Order\Builder;
10
11 use SeQura\Core\BusinessLogic\Domain\Order\Models\OrderRequest\Address;
12 use SeQura\WC\Services\Shopper\Interface_Shopper_Service;
13 use WC_Order;
14
15 /**
16 * Order Address Builder Interface
17 */
18 class Order_Address_Builder implements Interface_Order_Address_Builder {
19
20 /**
21 * Shopper service
22 *
23 * @var Interface_Shopper_Service
24 */
25 private $shopper_service;
26
27 /**
28 * Constructor
29 */
30 public function __construct(
31 Interface_Shopper_Service $shopper_service
32 ) {
33 $this->shopper_service = $shopper_service;
34 }
35
36 /**
37 * Get address
38 */
39 public function build( ?WC_Order $order, bool $is_delivery ): Address {
40 $country = $this->shopper_service->get_country( $order, $is_delivery );
41 return new Address(
42 $this->shopper_service->get_company( $order, $is_delivery ),
43 $this->shopper_service->get_address_1( $order, $is_delivery ),
44 $this->shopper_service->get_address_2( $order, $is_delivery ),
45 $this->shopper_service->get_postcode( $order, $is_delivery ),
46 $this->shopper_service->get_city( $order, $is_delivery ),
47 $country ? $country : 'ES',
48 $this->shopper_service->get_first_name( $order, $is_delivery ),
49 $this->shopper_service->get_last_name( $order, $is_delivery ),
50 null, // phone.
51 $this->shopper_service->get_phone( $order, $is_delivery ), // mobile phone.
52 $this->shopper_service->get_state( $order, $is_delivery ),
53 $order ? $order->get_customer_note( 'edit' ) : null, // extra.
54 $this->shopper_service->get_vat( $order, $is_delivery )
55 );
56 }
57 }
58