Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

33 linhas
923B

  1. <?php
  2. namespace Lc\SovBundle\Builder\User;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Lc\SovBundle\Model\Newsletter\NewsletterInterface;
  5. use Lc\SovBundle\Model\User\UserInterface;
  6. use Lc\SovBundle\Solver\User\UserSolver;
  7. class UserBuilder
  8. {
  9. protected EntityManagerInterface $entityManager;
  10. protected UserSolver $userSolver;
  11. public function __construct(EntityManagerInterface $entityManager, UserSolver $userSolver)
  12. {
  13. $this->entityManager = $entityManager;
  14. $this->userSolver = $userSolver;
  15. }
  16. public function setNewsletter(UserInterface $user, NewsletterInterface $newsletter, bool $subscribeNewsletter): void
  17. {
  18. if ($subscribeNewsletter) {
  19. $user->addNewsletter($newsletter);
  20. } else {
  21. $user->removeNewsletter($newsletter);
  22. }
  23. $this->entityManager->persist($user);
  24. $this->entityManager->flush();
  25. }
  26. }