src/FondOfSpryker/Zed/AvailabilityAlert/Business/Model/MailHandler.php
public function sendAvailabilityAlertMail(FosAvailabilityAlertSubscription $fosAvailabilityAlertSubscription)
    {
        $availabilityAlertSubscriptionTransfer = $this->getAvailabilityAlertSubscriptionTransfer($fosAvailabilityAlertSubscription);
        $localeTransfer = $this->getLocaleTransfer($fosAvailabilityAlertSubscription);
        $productAbstractTransfer = $this->getProductAbstractTransfer($fosAvailabilityAlertSubscription);
        $productUrlTransfer = $this->productFacade->getProductUrl($productAbstractTransfer);
        $priceProductTransfer = $productAbstractTransfer->getPrices();

        /** @var \Generated\Shared\Transfer\LocalizedUrlTransfer $localizedUrlTransfer */
        foreach ($productUrlTransfer->getUrls() as $localizedUrlTransfer) {
            if ($localizedUrlTransfer->getLocale()->getIdLocale() == $localeTransfer->getIdLocale()) {
                $currentLocaleProductUrlTransfer = $localizedUrlTransfer;

                break;
            }
        }

        /** @var \Generated\Shared\Transfer\PriceProductTransfer $transfer */
        foreach ($priceProductTransfer as $transfer) {
            /** @var \Generated\Shared\Transfer\MoneyValueTransfer $moneyValueTransfer */
            $moneyValueTransfer = $transfer->getMoneyValue();

            break;
        }

        $mailTransfer = new MailTransfer();
        $mailTransfer->setAvailabilityAlertSubscription($availabilityAlertSubscriptionTransfer);
        $mailTransfer->setLocale($localeTransfer);
        $mailTransfer->setProductAbstract($productAbstractTransfer);
        $mailTransfer->setType(AvailabilityAlertMailTypePlugin::MAIL_TYPE);
        $mailTransfer->setLocalizedUrl($currentLocaleProductUrlTransfer);
        $mailTransfer->setMoneyValue($moneyValueTransfer);

        $this->mailFacade->handleMail($mailTransfer);
    }
public function sendAvailabilityAlertMail(FosAvailabilityAlertSubscription $fosAvailabilityAlertSubscription)
    {
        $availabilityAlertSubscriptionTransfer = $this->getAvailabilityAlertSubscriptionTransfer($fosAvailabilityAlertSubscription);
        $localeTransfer = $this->getLocaleTransfer($fosAvailabilityAlertSubscription);
        $productAbstractTransfer = $this->getProductAbstractTransfer($fosAvailabilityAlertSubscription);
        $productUrlTransfer = $this->productFacade->getProductUrl($productAbstractTransfer);
        $priceProductTransfer = $productAbstractTransfer->getPrices();

        /** @var \Generated\Shared\Transfer\LocalizedUrlTransfer $localizedUrlTransfer */
        foreach ($productUrlTransfer->getUrls() as $localizedUrlTransfer) {
            if ($localizedUrlTransfer->getLocale()->getIdLocale() == $localeTransfer->getIdLocale()) {
                $currentLocaleProductUrlTransfer = $localizedUrlTransfer;

                break;
            }
        }

        /** @var \Generated\Shared\Transfer\PriceProductTransfer $transfer */
        foreach ($priceProductTransfer as $transfer) {
            /** @var \Generated\Shared\Transfer\MoneyValueTransfer $moneyValueTransfer */
            $moneyValueTransfer = $transfer->getMoneyValue();

            break;
        }

        $mailTransfer = new MailTransfer();
        $mailTransfer->setAvailabilityAlertSubscription($availabilityAlertSubscriptionTransfer);
        $mailTransfer->setLocale($localeTransfer);
        $mailTransfer->setProductAbstract($productAbstractTransfer);
        $mailTransfer->setType(AvailabilityAlertMailTypePlugin::MAIL_TYPE);
        $mailTransfer->setLocalizedUrl($currentLocaleProductUrlTransfer);
        $mailTransfer->setMoneyValue($moneyValueTransfer);

        $this->mailFacade->handleMail($mailTransfer);
    }
@param \Orm\Zed\AvailabilityAlert\Persistence\FosAvailabilityAlertSubscription $fosAvailabilityAlertSubscription

@return void