public function produitRecuAction(AdvertInterest $advertInterest)
 {
     $user = $this->getUser();
     // On controle que l'utilisateur est bien l'acheteur.
     if ($user != $advertInterest->getUser()) {
         throw new AccessDeniedException("Cet interet ne vous appartient pas");
     }
     // Tout les testes sont bien validés on passe au traitement
     $em = $this->getDoctrine()->getEntityManager();
     // Soit on est en statut " Argent Recu " et donc on valide définitivement la vente en passant au statut "Vendu"
     if ($advertInterest->getAdvertOptionType()->getId() == 11) {
         $advertOptionType = $em->getRepository("SnoozitPlatformBundle:AdvertOptionType")->find(4);
         // Modification du statut de l'interet
         $advertInterest->setAdvertOptionType($advertOptionType);
         // On passe donc l'annonce en non visible via setSold() = true
         $advert = $advertInterest->getAdvert();
         $advert->setSold(true);
         $advert->setSoldTo($advertInterest->getUser());
         $em->persist($advertInterest);
         $em->persist($advert);
         $em->flush();
     } elseif ($advertInterest->getAdvertOptionType()->getId() == 7) {
         $advertOptionType = $em->getRepository("SnoozitPlatformBundle:AdvertOptionType")->find(11);
         // Modification du statut de l'interet
         $advertInterest->setAdvertOptionType($advertOptionType);
         $em->persist($advertInterest);
         $em->flush();
     } else {
         throw new EntityNotFoundException('Cette annonce ne remplie pas les conditions requises.');
     }
     return $this->redirect($this->generateUrl('snoozit_platform_panier_homepage'));
 }
 public function confirmVente(AdvertInterest $interest)
 {
     $optionType = $this->entityManager->getRepository('SnoozitPlatformBundle:AdvertOptionType')->find(7);
     // On lance le dispatch d'évenement
     //$this->containerAware->get('event_dispatcher')->dispatch(SkuagEvents::ON_ACCEPT_INTEREST, new InterestEvent($interest->getAdvert(), $interest->getUser()));
     $interest->setAdvertOptionType($optionType);
     // On met l'annonce en statut " Vente en cours " afin que les autres annonces change de statut le temps des transferts d'argent et produit.
     $interest->getAdvert()->setInProgress($interest->getUser());
     $this->entityManager->persist($interest);
     $this->entityManager->flush();
     return;
 }