Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param string $email
- * @return bool
- */
- function deleteCustomerQuote($email) {
- // vendormagentomodule-customeretcdi.xml : MagentoCustomerApiCustomerRepositoryInterface = MagentoCustomerModelResourceModelCustomerRepository
- // vendormagentomodule-quoteetcdi.xml : MagentoQuoteApiCartRepositoryInterface = MagentoQuoteModelQuoteRepository
- /** @var MagentoFrameworkAppObjectManager $objectManager */
- $objectManager = MagentoFrameworkAppObjectManager::getInstance();
- /** @var MagentoCustomerApiCustomerRepositoryInterface $customerRepository */
- $customerRepository = $objectManager->get('MagentoCustomerApiCustomerRepositoryInterface');
- /** @var MagentoQuoteApiCartRepositoryInterface $cartRepository */
- $cartRepository = $objectManager->get('MagentoQuoteApiCartRepositoryInterface');
- try {
- $customer = $customerRepository->get($email);
- $cart = $cartRepository->getForCustomer($customer->getId()); // MagentoQuoteApiDataCartInterface
- $cartRepository->delete($cart);
- return true;
- } catch (Exception $exception) {
- return false;
- }
- }
- /**
- * @param string $email
- * @return bool
- */
- function deleteAllCustomerQuotes($email) {
- $objectManager = MagentoFrameworkAppObjectManager::getInstance();
- /** @var MagentoCustomerApiCustomerRepositoryInterface $customerRepository */
- $customerRepository = $objectManager->get('MagentoCustomerApiCustomerRepositoryInterface');
- /** @var MagentoQuoteModelResourceModelQuoteCollectionFactory $quoteCollectionFactory */
- $quoteCollectionFactory = $objectManager->get('MagentoQuoteModelResourceModelQuoteCollectionFactory');
- /** @var MagentoQuoteApiCartRepositoryInterface $cartRepository */
- $cartRepository = $objectManager->get('MagentoQuoteApiCartRepositoryInterface');
- try {
- $customer = $customerRepository->get($email);
- $customerId = $customer->getId();
- $quoteCollection = $quoteCollectionFactory->create()->addFieldToFilter('customer_id', $customerId);
- if ( $quoteCollection->getSize() ) {
- /** @var MagentoQuoteModelQuote $item */
- foreach ( $quoteCollection as $item ) {
- $cartRepository->delete($item);
- }
- }
- return true;
- } catch (Exception $exception) {
- return false;
- }
- }
Add Comment
Please, Sign In to add comment