/** * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer * * @return void */ protected function processCustomerAddress(AddressTransfer $addressTransfer, CustomerTransfer $customerTransfer) { $addressTransfer->setFkCustomer($customerTransfer->getIdCustomer()); if ($addressTransfer->getIdCustomerAddress() === null) { $this->address->createAddressAndUpdateCustomerDefaultAddresses($addressTransfer); } else { $this->address->updateAddressAndCustomerDefaultAddresses($addressTransfer); } }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ private function getQuoteTransfer() { $quoteTransfer = new QuoteTransfer(); $totalsTransfer = new TotalsTransfer(); $totalsTransfer->setGrandTotal(10000)->setSubtotal(10000); $quoteTransfer->setTotals($totalsTransfer); $addressTransfer = new AddressTransfer(); $addressTransfer->setFirstName('John')->setLastName('Doe')->setSalutation('Mr')->setCity('Berlin')->setIso2Code('DE')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623'); $quoteTransfer->setBillingAddress($addressTransfer); $paymentTransfer = new PayolutionPaymentTransfer(); $paymentTransfer->setGender('Male')->setDateOfBirth('1970-01-01')->setClientIp('127.0.0.1')->setAccountBrand(ApiConstants::BRAND_INVOICE)->setAddress($addressTransfer); $payment = new PaymentTransfer(); $payment->setPayolution($paymentTransfer); $quoteTransfer->setPayment($payment); return $quoteTransfer; }
/** * @return void */ public function testSetTaxRateWhenExemptTaxRateUsedAndCountryMatchingShouldUseCountryRate() { $shipmentMethodEntity = $this->createShipmentMethodWithTaxSet(20, 'DE'); $quoteTransfer = new QuoteTransfer(); $addressTransfer = new AddressTransfer(); $addressTransfer->setIso2Code('DE'); $quoteTransfer->setShippingAddress($addressTransfer); $shipmentTransfer = new ShipmentTransfer(); $shipmentMethodTransfer = new ShipmentMethodTransfer(); $shipmentMethodTransfer->fromArray($shipmentMethodEntity->toArray(), true); $shipmentTransfer->setMethod($shipmentMethodTransfer); $quoteTransfer->setShipment($shipmentTransfer); $shipmentFacadeTest = $this->createShipmentFacade(); $shipmentFacadeTest->calculateShipmentTaxRate($quoteTransfer); $this->assertEquals('20.00', $shipmentMethodTransfer->getTaxRate()); }
/** * @param \Orm\Zed\Invoice\Persistence\PavInvoice $invoiceEntity * * @return \Generated\Shared\Transfer\InvoiceTransfer */ public function transformEntityToTransfer(PavInvoice $invoiceEntity) { $invoiceTransfer = new InvoiceTransfer(); $invoiceTransfer->fromArray($invoiceEntity->toArray(), true); $invoiceType = $invoiceEntity->getInvoiceType()->getTypeName(); $invoiceTransfer->setInvoiceType($invoiceType); $billingAddressTransfer = new AddressTransfer(); $billingAddressTransfer->fromArray($invoiceEntity->getBillingAddress()->toArray(), true); $invoiceTransfer->setInvoiceBillingAddress($billingAddressTransfer); $shippingAddressTransfer = new AddressTransfer(); $shippingAddressTransfer->fromArray($invoiceEntity->getShippingAddress()->toArray(), true); $invoiceTransfer->setInvoiceShippingAddress($shippingAddressTransfer); $this->setInvoiceItems($invoiceEntity, $invoiceTransfer); $this->setExpenseItems($invoiceEntity, $invoiceTransfer); $this->setDiscountItems($invoiceEntity, $invoiceTransfer); $this->setTaxItems($invoiceEntity, $invoiceTransfer); return $invoiceTransfer; }
/** * @return void */ public function testAddPaymentToQuoteShouldReturnQuoteTransfer() { $paymentHandler = new PayolutionHandler($this->getPayolutionClientMock(), CurrencyManager::getInstance()); $request = Request::createFromGlobals(); $quoteTransfer = new QuoteTransfer(); $billingAddress = new AddressTransfer(); $billingAddress->setSalutation('Mr'); $billingAddress->setIso2Code('iso2Code'); $quoteTransfer->setBillingAddress($billingAddress); $customerTransfer = new CustomerTransfer(); $customerTransfer->setEmail('*****@*****.**'); $quoteTransfer->setCustomer($customerTransfer); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPaymentSelection('payolutionInvoice'); $payolutionPaymentTransfer = new PayolutionPaymentTransfer(); $paymentTransfer->setPayolutionInvoice($payolutionPaymentTransfer); $quoteTransfer->setPayment($paymentTransfer); $result = $paymentHandler->addPaymentToQuote($request, $quoteTransfer); $this->assertInstanceOf(QuoteTransfer::class, $result); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ private function getCheckoutRequestTransfer() { $itemTransfer = new ItemTransfer(); $itemTransfer->setSku('1234567890')->setQuantity(1)->setUnitGrossPriceWithProductOptions(10000)->setName('Socken'); $billingAddressTransfer = new AddressTransfer(); $billingAddressTransfer->setIso2Code('DE')->setEmail('*****@*****.**')->setFirstName('John')->setLastName('Doe')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623')->setCity('Berlin'); $shippingAddressTransfer = new AddressTransfer(); $shippingAddressTransfer->setIso2Code('DE')->setEmail('*****@*****.**')->setFirstName('John')->setLastName('Doe')->setAddress1('Fraunhoferstraße')->setAddress2('120')->setZipCode('80469')->setCity('München'); $paymentAddressTransfer = (new AddressTransfer())->setFirstName('John')->setLastName('Doe')->setSalutation('Mr')->setEmail('*****@*****.**')->setCity('Berlin')->setIso2Code('DE')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623'); $payolutionPaymentTransfer = (new PayolutionPaymentTransfer())->setGender('Male')->setDateOfBirth('1970-01-01')->setClientIp('127.0.0.1')->setAccountBrand(PayolutionConstants::BRAND_INVOICE)->setAddress($paymentAddressTransfer); $quoteTransfer = new QuoteTransfer(); $totalsTransfer = new TotalsTransfer(); $totalsTransfer->setGrandTotal(10000)->setSubtotal(10000); $quoteTransfer->setTotals($totalsTransfer); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPaymentSelection('no_payment'); $paymentTransfer->setPayolution($payolutionPaymentTransfer); $quoteTransfer->setPayment($paymentTransfer); $quoteTransfer->setShippingAddress($shippingAddressTransfer)->setBillingAddress($billingAddressTransfer); return $quoteTransfer; }
/** * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer * * @return string */ protected function formatAddress($addressTransfer) { return trim(sprintf('%s %s %s', $addressTransfer->getAddress1(), $addressTransfer->getAddress2(), $addressTransfer->getAddress3())); }
/** * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrderAddress $addressEntity * * @return void */ protected function hydrateAddressEntityFromTransfer(AddressTransfer $addressTransfer, SpySalesOrderAddress $addressEntity) { $addressEntity->fromArray($addressTransfer->modifiedToArray()); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function createQuoteTransferWithShippingAddress() { $quoteTransfer = $this->createQuoteTransfer(); $this->createItemTransfers($quoteTransfer); $addressTransfer = new AddressTransfer(); $addressTransfer->setIso2Code('AT'); $quoteTransfer->setShippingAddress($addressTransfer); return $quoteTransfer; }
/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function setDefaultBillingAddressAction(Request $request) { $addressTransfer = new AddressTransfer(); $addressTransfer->setIdCustomerAddress($this->castId($request->query->get('address_id'))); $addressTransfer->setFkCustomer($this->castId($request->query->get('customer_id'))); $this->getFacade()->setDefaultBillingAddress($addressTransfer); return $this->redirectResponse('/customer/profile?id=' . $this->castId($request->query->get('customer_id'))); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ private function getValidBaseQuoteTransfer() { $country = new SpyCountry(); $country->setIso2Code('ix'); $country->save(); $quoteTransfer = new QuoteTransfer(); $billingAddress = new AddressTransfer(); $billingAddress->setIso2Code('ix')->setAddress1('address-1-1-test')->setFirstName('Max')->setLastName('Mustermann')->setZipCode('1337')->setCity('SpryHome'); $shippingAddress = new AddressTransfer(); $shippingAddress->setIso2Code('ix')->setAddress1('address-1-2-test')->setFirstName('Max')->setLastName('Mustermann')->setZipCode('1337')->setCity('SpryHome'); $totals = new TotalsTransfer(); $totals->setGrandTotal(1337)->setSubtotal(337); $quoteTransfer->setShippingAddress($shippingAddress)->setBillingAddress($billingAddress)->setTotals($totals); $customerTransfer = new CustomerTransfer(); $customerTransfer->setEmail('*****@*****.**'); $customerTransfer->setFirstName('Max'); $customerTransfer->setLastName('Mustermann'); $quoteTransfer->setCustomer($customerTransfer); $shipmentTransfer = new ShipmentTransfer(); $shipmentTransfer->setMethod(new ShipmentMethodTransfer()); $quoteTransfer->setShipment($shipmentTransfer); $itemTransfer = new ItemTransfer(); $itemTransfer->setUnitGrossPrice(1)->setQuantity(1)->setName('test-name')->setSku('sku-test'); $quoteTransfer->addItem($itemTransfer); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPaymentSelection('dummyPaymentInvoice'); $quoteTransfer->setPayment($paymentTransfer); return $quoteTransfer; }
/** * @param \Generated\Shared\Transfer\AddressTransfer $invoiceAddressTransfer * * @throws \Propel\Runtime\Exception\PropelException * @return int */ protected function writeInvoiceAddress(AddressTransfer $invoiceAddressTransfer) { $invoiceAddress = $this->queryContainer->createInvoiceAddressEntity(); $invoiceAddress->fromArray($invoiceAddressTransfer->toArray()); $invoiceAddress->setIso2Code($invoiceAddressTransfer->getIso2Code()); $invoiceAddress->save(); return $invoiceAddress->getIdInvoiceAddress(); }
/** * @param \Orm\Zed\Customer\Persistence\SpyCustomerAddress $addressEntity * * @return \Generated\Shared\Transfer\AddressTransfer */ protected function entityToTransfer(SpyCustomerAddress $addressEntity) { $addressTransfer = new AddressTransfer(); $addressTransfer->fromArray($addressEntity->toArray(), true); $addressTransfer->setIso2Code($addressEntity->getCountry()->getIso2Code()); return $addressTransfer; }
/** * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer * * @return bool */ protected function isValidAddressTransfer(AddressTransfer $addressTransfer) { return empty($addressTransfer->getIdCustomerAddress()) === false && $addressTransfer->getFkCustomer() !== null; }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function getBaseQuoteTransfer() { $quoteTransfer = new QuoteTransfer(); $country = new SpyCountry(); $country->setIso2Code('xi')->save(); $productAbstract1 = new SpyProductAbstract(); $productAbstract1->setSku('AOSB1337')->setAttributes('{}'); $productConcrete1 = new SpyProduct(); $productConcrete1->setSku('OSB1337')->setAttributes('{}')->setSpyProductAbstract($productAbstract1)->save(); $productAbstract2 = new SpyProductAbstract(); $productAbstract2->setSku('AOSB1338')->setAttributes('{}'); $productConcrete2 = new SpyProduct(); $productConcrete2->setSku('OSB1338')->setSpyProductAbstract($productAbstract2)->setAttributes('{}')->save(); $stock = new SpyStock(); $stock->setName('testStock'); $stock1 = new SpyStockProduct(); $stock1->setQuantity(1)->setStock($stock)->setSpyProduct($productConcrete1)->save(); $stock2 = new SpyStockProduct(); $stock2->setQuantity(1)->setStock($stock)->setSpyProduct($productConcrete2)->save(); $item1 = new ItemTransfer(); $item1->setSku('OSB1337')->setQuantity(1)->setUnitGrossPrice(3000)->setName('Product1'); $item2 = new ItemTransfer(); $item2->setSku('OSB1338')->setQuantity(1)->setUnitGrossPrice(4000)->setName('Product2'); $quoteTransfer->addItem($item1); $quoteTransfer->addItem($item2); $totals = new TotalsTransfer(); $totals->setGrandTotal(1000)->setSubtotal(500); $quoteTransfer->setTotals($totals); $billingAddress = new AddressTransfer(); $shippingAddress = new AddressTransfer(); $billingAddress->setIso2Code('xi')->setEmail('*****@*****.**')->setFirstName('Max')->setLastName('Mustermann')->setAddress1('Straße')->setAddress2('82')->setZipCode('12345')->setCity('Entenhausen'); $shippingAddress->setIso2Code('xi')->setFirstName('Max')->setLastName('Mustermann')->setEmail('*****@*****.**')->setAddress1('Straße')->setAddress2('84')->setZipCode('12346')->setCity('Entenhausen2'); $quoteTransfer->setBillingAddress($billingAddress); $quoteTransfer->setShippingAddress($shippingAddress); $customerTransfer = new CustomerTransfer(); $customerTransfer->setIsGuest(false)->setEmail('*****@*****.**'); $quoteTransfer->setCustomer($customerTransfer); $shipment = new ShipmentTransfer(); $shipment->setMethod(new ShipmentMethodTransfer()); $quoteTransfer->setShipment($shipment); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPaymentSelection('no_payment'); $quoteTransfer->setPayment($paymentTransfer); return $quoteTransfer; }
/** * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer * @param \Orm\Zed\Customer\Persistence\SpyCustomer $customerEntity * * @return void */ protected function updateCustomerDefaultAddresses(AddressTransfer $addressTransfer, SpyCustomer $customerEntity) { if ($customerEntity->getDefaultBillingAddress() === null || $addressTransfer->getIsDefaultBilling()) { $customerEntity->setDefaultBillingAddress($addressTransfer->getIdCustomerAddress()); } if ($customerEntity->getDefaultShippingAddress() === null || $addressTransfer->getIsDefaultShipping()) { $customerEntity->setDefaultShippingAddress($addressTransfer->getIdCustomerAddress()); } $customerEntity->save(); }
/** * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrderAddress $salesOrderAddressEntity * * @return void */ protected function hydrateSalesOrderAddress(AddressTransfer $addressTransfer, SpySalesOrderAddress $salesOrderAddressEntity) { $salesOrderAddressEntity->fromArray($addressTransfer->toArray()); $salesOrderAddressEntity->setFkCountry($this->countryFacade->getIdCountryByIso2Code($addressTransfer->getIso2Code())); }
/** * @return \Generated\Shared\Transfer\CustomerTransfer */ protected function createCustomerWithAddress() { $customerTransfer = $this->createTestCustomer(); $addressTransfer = new AddressTransfer(); $addressTransfer->setEmail($customerTransfer->getEmail()); $addressTransfer->setFirstName(self::TESTER_NAME); $addressTransfer->setLastName(self::TESTER_NAME); $addressTransfer->setFkCustomer($customerTransfer->getIdCustomer()); $addressTransfer = $this->customerFacade->createAddress($addressTransfer); $this->assertNotNull($addressTransfer); return $this->getTestCustomerTransfer($customerTransfer); }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return void */ protected function hydrateShippingAddressToOrderTransfer(SpySalesOrder $orderEntity, OrderTransfer $orderTransfer) { $shippingAddressTransfer = new AddressTransfer(); $shippingAddressTransfer->fromArray($orderEntity->getShippingAddress()->toArray(), true); $shippingAddressTransfer->setIso2Code($orderEntity->getShippingAddress()->getCountry()->getIso2Code()); $orderTransfer->setShippingAddress($shippingAddressTransfer); }
/** * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer * * @return \Generated\Shared\Transfer\QuoteTransfer */ private function getQuoteTransfer(CheckoutResponseTransfer $checkoutResponseTransfer) { $orderEntity = $this->createOrderEntity(); $paymentAddressTransfer = new AddressTransfer(); $email = '*****@*****.**'; $paymentAddressTransfer->setIso2Code('DE')->setEmail($email)->setFirstName('John')->setLastName('Doe')->setCellPhone('+40 175 0815')->setPhone('+30 0815')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623')->setSalutation(SpyPaymentPayolutionTableMap::COL_SALUTATION_MR)->setCity('Berlin'); $payolutionPaymentTransfer = new PayolutionPaymentTransfer(); $payolutionPaymentTransfer->setEmail($email)->setGender(SpyPaymentPayolutionTableMap::COL_GENDER_MALE)->setDateOfBirth('1970-01-02')->setClientIp('127.0.0.1')->setAccountBrand(PayolutionConstants::BRAND_INVOICE)->setLanguageIso2Code('DE')->setCurrencyIso3Code('EUR')->setAddress($paymentAddressTransfer); $quoteTransfer = new QuoteTransfer(); $customerTransfer = new CustomerTransfer(); $customerTransfer->setEmail($email); $customerTransfer->setIsGuest(true); $quoteTransfer->setCustomer($customerTransfer); $checkoutResponseTransfer->getSaveOrder()->setIdSalesOrder($orderEntity->getIdSalesOrder()); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPayolution($payolutionPaymentTransfer); $quoteTransfer->setPayment($paymentTransfer); foreach ($orderEntity->getItems() as $orderItemEntity) { $itemTransfer = new ItemTransfer(); $itemTransfer->setName($orderItemEntity->getName())->setQuantity($orderItemEntity->getQuantity())->setUnitGrossPrice($orderItemEntity->getGrossPrice())->setFkSalesOrder($orderItemEntity->getFkSalesOrder())->setIdSalesOrderItem($orderItemEntity->getIdSalesOrderItem()); $checkoutResponseTransfer->getSaveOrder()->addOrderItem($itemTransfer); } return $quoteTransfer; }