<?php
/**
 * @author  Magediary
 * @package Magediary_ProductQuestion
 */

namespace Magediary\ProductQuestion\Model\Email;

use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Framework\Mail\Template\TransportBuilder;
use Magento\Framework\Translate\Inline\StateInterface;
use Magento\Store\Model\StoreManagerInterface;

class Mail
{
    /**
     * @var TransportBuilder
     */
    protected $transportBuilder;

    /**
     * @var StateInterface
     */
    protected $inlineTranslation;

    /**
     * @var StoreManagerInterface
     */
    protected $storeManager;

    /**
     * @var \Magediary\ProductQuestion\Model\AnswerFactory
     */
    protected $answerFactory;

    /**
     * @var \Magediary\ProductQuestion\Model\QuestionFactory
     */
    protected $questionFactory;

    /**
     * @var \Magento\Backend\Helper\Data
     */
    protected $backendHelper;

    /**
     * @var \Magento\Customer\Model\Customer
     */
    protected $_customerFactory;

    /**
     * @var \Magediary\ProductQuestion\Helper\Data|null
     */
    protected $_helperData = null;

    /**
     * @var ProductRepositoryInterface
     */
    protected $productRepository;

    /**
     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
     * @param \Magediary\ProductQuestion\Model\AnswerFactory $answer
     * @param \Magediary\ProductQuestion\Model\QuestionFactory $question
     * @param \Magediary\ProductQuestion\Helper\Data $helperData
     * @param \Magento\Backend\Helper\Data $backendHelper
     * @param ProductRepositoryInterface $productRepository
     * @param TransportBuilder $transportBuilder
     * @param StateInterface $inlineTranslation
     * @param StoreManagerInterface $storeManager
     */
    public function __construct(
        \Magento\Customer\Model\CustomerFactory $customerFactory,
        \Magediary\ProductQuestion\Model\AnswerFactory $answer,
        \Magediary\ProductQuestion\Model\QuestionFactory $question,
        \Magediary\ProductQuestion\Helper\Data $helperData,
        \Magento\Backend\Helper\Data $backendHelper,
        ProductRepositoryInterface $productRepository,
        TransportBuilder $transportBuilder,
        StateInterface $inlineTranslation,
        StoreManagerInterface $storeManager
    ) {
        $this->_customerFactory = $customerFactory;
        $this->answerFactory = $answer;
        $this->productRepository = $productRepository;
        $this->questionFactory = $question;
        $this->_helperData = $helperData;
        $this->backendHelper = $backendHelper;
        $this->transportBuilder = $transportBuilder;
        $this->inlineTranslation = $inlineTranslation;
        $this->storeManager = $storeManager;
    }
}
