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.
SAE4.01_FORMULAIRE/Source/API/script/Gateway/GatewayForm.php

57 lines
2.0 KiB

<?php
namespace API\Gateway;
use BusinessClass\Keyword;
use Connection;
use BusinessClass\Question;
use PDO;
class GatewayForm
{
private Connection $connection;
public function __construct(Connection $connection)
{
$this->connection = $connection;
}
public function assignKeywordToQuestion(Keyword $keyword, string $response, int $idQuestion)
{
$query = "SELECT pr.id FROM Propose p, PossibleResponse r WHERE p.question = :id AND p.possibleResponse = pr.id AND pr.content = :response";
$this->connection->executeQuery($query, array(
':id' => array($idQuestion, PDO::PARAM_STR),
':response' => array($response, PDO::PARAM_STR)
));
$this->connection->executeQuery();
$idPossibleResponse = $this->connection->getResults()[0][0];
$query = "INSERT INTO Reference(id, word) VALUES(:id, :word)";
$this->connection->executeQuery($query, array(
':idResponse' => array($idPossibleResponse, PDO::PARAM_INT),
':idKeword' => array($keyword->getId(), PDO::PARAM_INT)
));
$this->connection->executeQuery();
}
public function deleteKeywordFromQuestion(Keyword $keyword, string $response, Question $question)
{
$query = "SELECT pr.id FROM Propose p, PossibleResponse r WHERE p.question = :id AND p.possibleResponse = pr.id AND pr.content = :response";
$this->connection->executeQuery($query, array(
':id' => array($question->getId(), PDO::PARAM_STR),
':response' => array($response, PDO::PARAM_STR)
));
$this->connection->executeQuery();
$idPossibleResponse = $this->connection->getResults()[0][0];
$query = "DELETE FROM Reference WHERE response = :idResponse AND keyword = :idKeword";
$this->connection->executeQuery($query, array(
':idResponse' => array($idPossibleResponse, PDO::PARAM_INT),
':idKeword' => array($keyword->getId(), PDO::PARAM_INT)
));
$this->connection->executeQuery();
}
}