<?php
namespace App\Controller\Api\Prive;
use App\Entity\Campagne;
use App\Entity\Campagnecollaborateur;
use App\Entity\Prospect;
use App\Entity\Utilisateur;
use Doctrine\ORM\Query;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/campagnecollaborateur")
*/
class ApiCampagnecollaborateurController extends ApiController
{
/**
* @Route("/{id}", name="api_Campagnecollaborateur_delete", methods={"DELETE"})
* @param int $id
* @return JsonResponse
*/
public function delete(int $id)
{
if ($id > 0) {
try {
$campagnecollaborateur = $this->em->getRepository(Campagnecollaborateur::class)->find($id);
if(!$campagnecollaborateur){
return $this->apiKo("Campagne collaborateur non trouvée !!");
}
return $this->removeElement($campagnecollaborateur);
} catch (\Exception $e) {
return $this->apiKo($e->getMessage());
}
}
return $this->apiKo("Campagne non trouvée !!");
}
/**
* @Route("/", name="api_Campagnecollaborateur_save", methods={"POST"})
* @param Request $request
* @return JsonResponse
*/
public function save(Request $request)
{
$data = json_decode($request->getContent(), true);
$campagnecollaborateur = new Campagnecollaborateur();
if (isset($data['id'])) {
$campagnecollaborateur = $this->em->getRepository(Campagnecollaborateur::class)->find($data['id']);
}
if (!isset($data['campagne']) || !isset($data['campagne']['id'])) {
return $this->apiKo("Campagne non trouvée !!");
}
/** @var Campagne $campagne */
$campagne = $this->em->getRepository(Campagne::class)->find($data['campagne']['id']);
if (!$campagne) {
return $this->apiKo("Campagne non trouvée !!");
}
if (!isset($data['collaborateur']) || !isset($data['collaborateur']['id'])) {
return $this->apiKo("Collaborateur non trouvée !!");
}
/** @var Utilisateur $utilisateur */
$utilisateur = $this->getObject(Utilisateur::class, $data["collaborateur"]["id"]);
if (!$utilisateur) {
return $this->apiKo("Collaborateur non trouvée !!");
}
$campagnecollaborateur->setCampagne($campagne);
$campagnecollaborateur->setCollaborateur($utilisateur);
if (isset($data['objectifglobal'])) {
$campagnecollaborateur->setObjectifglobal($data['objectifglobal']);
}
if (isset($data['objectifparjour'])) {
$campagnecollaborateur->setObjectifparjour($data['objectifparjour']);
}
try {
return $this->saveElement($campagnecollaborateur);
} catch (\Exception $e) {
return $this->apiKo($e->getMessage());
}
}
/**
* @Route("/find", name="api_Campagnecollaborateur_find", methods={"POST"})
* @param Request $request
* @return JsonResponse
*/
public function find(Request $request)
{
$data = json_decode($request->getContent(), true);
$sql = "
SELECT campagnecollaborateur
FROM " . Campagnecollaborateur::class . " campagnecollaborateur
";
return $this->findElementsWithJoin($sql, $data);
}
}