10namespace ComusParty\Models;
12use DateMalformedStringException;
46 $stmt = $this->pdo->prepare(
50 $stmt->bindParam(
':id', $id);
52 $stmt->setFetchMode(PDO::FETCH_ASSOC);
53 $invoice = $stmt->fetch();
54 if ($invoice ===
false) {
57 return $this->
hydrate($invoice);
68 $invoice->setId($invoiceTab[
'id']);
69 $invoice->setCreatedAt(
new DateTime($invoiceTab[
'created_at']));
70 $invoice->setPlayerUuid($invoiceTab[
'player_uuid']);
71 switch ($invoiceTab[
'payment_type']) {
73 $invoice->setPaymentType(PaymentType::Card);
76 $invoice->setPaymentType(PaymentType::PayPal);
92 public function createInvoice(
string $player_uuid,
string $payment_type): void
94 $stmt = $this->pdo->prepare(
95 'INSERT INTO ' .
DB_PREFIX .
'invoice (player_uuid, payment_type)
96 VALUES (:player_uuid, :payment_type)');
97 $stmt->bindParam(
':player_uuid', $player_uuid);
98 $stmt->bindParam(
':payment_type', $payment_type);
101 $invoice = $this->
getPdo()->lastInsertId();
130 $stmt = $this->pdo->prepare(
131 'INSERT INTO ' .
DB_PREFIX .
'invoice (player_uuid, payment_type)
132 VALUES (:player_uuid, :payment_type)'
134 $stmt->bindParam(
':player_uuid', $player_uuid);
135 $stmt->bindParam(
':payment_type', $payment_type);
138 $invoiceId = $this->pdo->lastInsertId();
140 $stmt = $this->pdo->prepare(
141 'INSERT INTO ' .
DB_PREFIX .
'invoice_row (invoice_id, article_id) VALUES (:invoice_id, :article_id)'
143 foreach ($articles as $article) {
144 $stmt->bindParam(
':invoice_id', $invoiceId);
145 $stmt->bindParam(
':article_id', $article);
createInvoice(string $player_uuid, string $payment_type)
Crée une facture dans la base de données.
hydrate(array $invoiceTab)
getPdo()
Retourne la connexion à la base de données.
findById(?int $id)
Retourne un objet Invoice (ou null) à partir de l'ID passé en paramètre.
createInvoiceWithArticles(string $player_uuid, string $payment_type, array $articles)
Crée une facture avec des articles dans la base de données.
setPdo(?PDO $pdo)
Modifie la connexion à la base de données.
__construct(?PDO $pdo)
Le constructeur de la classe InvoiceDAO.
@ ComusCoins
Paiement par carte bancaire.
const DB_PREFIX
Préfixe des tables de la base de données.