Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }