You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
976B

  1. <?php
  2. namespace Lc\CaracoleBundle\Factory\Order;
  3. use Lc\CaracoleBundle\Container\Order\OrderPaymentContainer;
  4. use Lc\CaracoleBundle\Model\Order\OrderPaymentInterface;
  5. use Lc\CaracoleBundle\Model\Order\OrderShopInterface;
  6. use Lc\SovBundle\Factory\AbstractFactory;
  7. class OrderPaymentFactory extends AbstractFactory
  8. {
  9. public function create(OrderShopInterface $orderShop, string $meanPayment, float $amount, bool $editable = false): OrderPaymentInterface
  10. {
  11. $orderPayment = $this->createBase($orderShop);
  12. $orderPayment->setMeanPayment($meanPayment);
  13. $orderPayment->setAmount($amount);
  14. $orderPayment->setPaidAt(new \DateTime());
  15. $orderPayment->setEditable($editable);
  16. return $orderPayment;
  17. }
  18. public function createBase($orderShop){
  19. $class = OrderPaymentContainer::getEntityFqcn();
  20. $orderPayment = new $class;
  21. $orderPayment->setOrderShop($orderShop);
  22. return $orderPayment;
  23. }
  24. }