public function reservationajout() { require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev require 'fonction.php'; if (!sidisponible($_POST['marchandise_id'])) { return response('La marchandise n\'est plus disponible', 409); // si non-disponible retourne une erreur } // recupere les informations de la derniere transaction fait pour le compte $req = 'SELECT transaction_id, donneur_id, date_disponible FROM transaction WHERE marchandise_id = :marchandise_id ORDER BY transaction_id DESC LIMIT 1 '; $variable = array('marchandise_id' => $_POST['marchandise_id']); $transaction = execution($req, $array)->fetch(); // cré la transaction $req = 'INSERT INTO transaction (donneur_id, receveur_id, marchandise_id, date_disponible, date_reservation, date_transaction) VALUES(:donneur_id, :receveur_id, :marchandise_id, :date_disponible, NOW(), NOW() )'; $variable = array('donneur_id' => $transaction['donneur_id'], 'receveur_id' => $_POST['receveur_id'], 'marchandise_id' => $_POST['marchandise_id'], 'date_disponible' => $transaction['date_disponible']); execution($req, variable); //mise a jour de l'aliment $req = 'UPDATE alimentaire SET marchandise_statut = 2 WHERE alimentaire_id = :id'; $variable = array('id' => $_POST['marchandise_id']); execution($req, $variable); // retourne 200 si le programme ne rencontre pas de probleme sinon execution lance une exeption return response('La reservation a ete fait', 200); }
public function collecteralimentaire($id_alimentaire) { // permet de collecter un aliment, met le status a collecté et cré une transaction require 'Connection/bdlogin.php'; require 'fonction.php'; // si l'aliment n'est plus disponible envoi un 409 if (!sidisponible($id_alimentaire)) { return response('La marchandise n\'est plus disponible', 409); } $req = 'SELECT transaction_id, receveur_id, donneur_id, date_reservation, date_disponible FROM transaction WHERE marchandise_id = :marchandise_id ORDER BY transaction_id DESC LIMIT 1'; // selectionne les informations de la derniere transaction relié a l'aliment $array = array('marchandise_id' => $id_alimentaire); $resultat = execution($req, $array)->fetch(); $req = 'INSERT INTO transaction (receveur_id, donneur_id, marchandise_id, date_reservation, date_disponible, date_transaction, date_collecte) VALUES (:receveur_id, :donneur_id, :marchandise_id, :date_reservation, :date_disponible, NOW(), NOW())'; $array = array('receveur_id' => $resultat['receveur_id'], 'donneur_id' => $resultat['donneur_id'], 'marchandise_id' => $id_alimentaire, 'date_reservation' => $resultat['date_reservation'], 'date_disponible' => $resultat['date_disponible']); execution($req, $array); $req = 'UPDATE alimentaire SET marchandise_statut = 4 WHERE alimentaire_id = :id_alimentaire'; // TODO enlever le hard-coding $array = array('id_alimentaire' => $id_alimentaire); execution($req, $array); // retourne 200 si le programme ne rencontre pas d'erreur sinon la fonction execution lance une exeption return response('La collecte a ete fait', 200); }