table = $table; // deux tables séparées devis et factures } public function getAllWithWindowFields(): array // différent de Model::getAll() qui retourne get_object_vars($this) { $taches = ["Tâches:" => $this->taches]; $champs_communs = [ "Total Main d'oeuvre:" => $this->total_main_d_oeuvre, "Pièces" => $this->pieces, "Total des pièces" => $this->total_pieces, "Déplacement" => $this->deplacement, "Total HT" => $this->total_HT]; if($this->table === 'factures') { $champs_facture = [ "PC:" => $this->machine, "OS:" => $this->OS, "Données:" => $this->donnees, "Clés de licences:" => $this->cles_licences]; return $taches + $champs_facture + $champs_communs; } elseif($this->table === 'devis') { $champs_devis = [ "Delai de livraison" => $this->delai_livraison, "Durée de validité" => $this->validite_devis, "Devis signé?" => $this->signature_devis]; return $champs_communs + $champs_devis; } else { return []; } } public function set(string $entry, string $input) { switch($entry) { case "Tâches:": $this->setTaches($input); break; case "PC:": $this->setMachine($input); break; case "OS:": $this->setOS($input); break; case "Données:": $this->setDonnees($input); break; case "Clés de licences:": $this->setClesLicences($input); break; case "Total Main d'oeuvre:": $this->setTotalMainDOeuvre($input); break; case "Pièces:": $this->setPieces($input); break; case "Total des pièces:": $this->setTotalPieces($input); break; case "Déplacement:": $this->setDeplacement($input); break; case "Total HT:": $this->setTotalHT($input); break; case "Delai de livraison:": $this->setDelaiLivraison($input); break; case "Durée de validité:": $this->setValiditedevis($input); break; case "Devis signé?:": $this->setSignatureDevis($input); break; } } // setters //~ public function setID(int $value = 0) //~ { //~ $this->ID = $value; //~ return($this); //~ } public function setIDPresta(int $value) { $this->ID_presta = $value; return($this); } public function setTaches(string $value) { $this->taches = $value; return($this); } public function setMachine(string $value) { $this->machine = $value; return($this); } public function setOS(string $value) { $this->OS = $value; return($this); } public function setDonnees(string $value) { $this->donnees = $value; return($this); } public function setClesLicences(string $value) { $this->cles_licences = $value; return($this); } //~ public function setTemps(string $value) //~ { //~ $this->temps = $value; //~ return($this); //~ } public function setTotalMainDOeuvre($value) { $value = str_replace(',', '.', $value); $this->total_main_d_oeuvre = (float) $value; // float "nettoie" tous les caractères après le dernier chiffre trouvé (ex: 50€ => 50, abc => 0) return($this); } public function setPieces(string $value) { $this->pieces = $value; return($this); } public function setTotalPieces($value) { $value = str_replace(',', '.', $value); $this->total_pieces = (float) $value; return($this); } public function setDeplacement($value) { $value = str_replace(',', '.', $value); $this->deplacement = (float) $value; return($this); } public function setTotalHT($value) { $value = str_replace(',', '.', $value); $this->total_HT = (float) $value; return($this); } public function setDelaiLivraison(string $value) { $this->delai_livraison = $value; return($this); } public function setValiditedevis(string $value) { $this->validite_devis = $value; return($this); } public function setSignatureDevis(string $value) { $this->signature_devis = $value; return($this); } //~ public function newRow(array $input) //~ { //~ if($this->table === 'devis') // comme la table 'factures' avec deux champs en plus //~ { //~ $this->hydrate(['ID' => $input[0], 'ID_presta' => $input[1], 'taches' => $input[2], 'machine' => $input[3], 'OS' => $input[4], 'donnees' => $input[5], 'cles_licences' => $input[6], 'total_main_d_oeuvre' => $input[7], 'pieces' => $input[8], 'total_pieces' => $input[9], 'deplacement' => $input[10], 'total_HT' => $input[11]], //~ ['validite_devis' => $input[12], 'signature_devis' => $input[13]]); //~ $this->hydrate(['validite_devis' => $quotations_input[0], 'signature_devis' => $quotations_input[1]]); //~ } //~ elseif($this->table === 'factures') //~ { //~ $this->hydrate(['ID' => $input[0], 'ID_presta' => $input[1], 'taches' => $input[2], 'machine' => $input[3], 'OS' => $input[4], 'donnees' => $input[5], 'cles_licences' => $input[6], 'total_main_d_oeuvre' => $input[7], 'pieces' => $input[8], 'total_pieces' => $input[9], 'deplacement' => $input[10], 'total_HT' => $input[11]]); //~ } //~ $this->hydrate(['ID' => $input[0], 'ID_presta' => $input[1], 'taches' => $input[2], 'machine' => $input[3], 'OS' => $input[4], 'donnees' => $input[5], 'cles_licences' => $input[6], 'total_main_d_oeuvre' => $input[7], 'pieces' => $input[8], 'total_pieces' => $input[9], 'deplacement' => $input[10], 'total_HT' => $input[11]]); //~ $this->create(); //~ $this->ID_devis_facture = $this->db->lastInsertId(); // méthode de PDO //~ } }