<?php

namespace Lc\CaracoleBundle\Factory\Setting;

use App\Entity\Setting\MerchantSetting;
use Lc\CaracoleBundle\Container\Setting\MerchantSettingContainer;
use Lc\CaracoleBundle\Context\MerchantContextTrait;
use Lc\CaracoleBundle\Model\Merchant\MerchantInterface;
use Lc\SovBundle\Factory\AbstractFactory;
use Lc\SovBundle\Model\File\FileInterface;

class MerchantSettingFactory extends AbstractFactory
{

    public function create(MerchantInterface $merchant, string $name, string $text = null, \DateTime $date = null, FileInterface $file = null)
    {
        $class = MerchantSettingContainer::getEntityFqcn();
        $merchantSetting = new $class;

        $merchantSetting->setMerchant($merchant);
        $merchantSetting->setName($name);
        $merchantSetting->setText($text);
        $merchantSetting->setDate($date);
        $merchantSetting->setFile($file);

        return $merchantSetting;
    }
}