/** * Tallentaa havainnon ja palauttaa olion, jonka tiedot haettu tietokannasta. * Virheen sattuessa palauttaa arvon Malliluokkapohja::VIRHE. * @param <type> $henkilo_id * @param <type> $lajiluokka_id * @param <type> $vuosi * @param <type> $kk * @param <type> $paiva * @param <type> $paikka * @param <type> $kommentti * @param <type> $maa * @param <type> $varmuus */ public function luo_ja_tallenna_havainto($henkilo_id, $lajiluokka_id, $vuosi, $kk, $paiva, $paikka, $kommentti, $maa, $varmuus) { $id = Havainto::$PARAMETRI_EI_KAYTOSSA; $hav = new Havainto($this->tietokantaolio, $id); $hav->set_henkilo_id($henkilo_id); $hav->set_lajiluokka_id($lajiluokka_id); $hav->set_vuosi($vuosi); $hav->set_kk($kk); $hav->set_paiva($paiva); $hav->set_paikka($paikka); $hav->set_kommentti($kommentti); $hav->set_maa($maa); $hav->set_varmuus($varmuus); $palaute = $hav->tallenna_uusi(); // Haetaan tiedot: if ($palaute === Havainto::$OPERAATIO_ONNISTUI) { return new Havainto($this->tietokantaolio, $hav->get_id()); } else { // Otetaan virheilmoitukset talteen ja nollataan olio: $this->lisaa_virheilmoitus($hav->tulosta_virheilmoitukset()); $hav->nollaa_muuttujat(); return Malliluokkapohja::$VIRHE; } }