Esempio n. 1
0
 /**
  * Create a new lab
  * @param <type> $name
  * @return <type>
  */
 public function create($name)
 {
     if ($name == "") {
         throw new Exception(self::ERROR_INVALID_NAME);
     }
     $code_generator = new App_Value_Code();
     do {
         $code = $code_generator->get();
     } while ($this->db->findByCode($code)->count() != 0);
     $lab = $this->db->create();
     $lab->name = $name;
     $lab->code = $code;
     if ($lab->isValid()) {
         try {
             $lab->save();
         } catch (Exception $e) {
             throw new Exception(self::ERROR_NOT_SAVED);
         }
     } else {
         throw new Exception(self::ERROR_NOT_VALID . $lab->getErrorStackAsString());
     }
     return $lab->toArray();
 }