<?php

namespace Lc\CaracoleBundle\Factory\Order;

use App\Entity\Order\OrderPayment;
use Lc\CaracoleBundle\Model\Order\OrderPaymentInterface;
use Lc\CaracoleBundle\Model\Order\OrderShopInterface;
use Lc\SovBundle\Factory\AbstractFactory;

class OrderPaymentFactory extends AbstractFactory
{
    public function create(OrderShopInterface $orderShop, string $meanPayment, float $amount): OrderPaymentInterface
    {
        $orderPayment = $this->createBase($orderShop);
        $orderPayment->setMeanPayment($meanPayment);
        $orderPayment->setAmount($amount);
        $orderPayment->setPaidAt(new \DateTime());
        $orderPayment->setEditable(false);

        return $orderPayment;
    }

    public function createBase($orderShop){
        $orderPayment = new OrderPayment();
        $orderPayment->setOrderShop($orderShop);
        return $orderPayment;
    }
}