/**
  * Inserta un nuevo horario habitual.
  *
  * @param HorarioHabitual $horarioHabitual
  * @throws Exception Si el horario no se pudo insertar.
  */
 public function insertarHorarioHabitual($horarioHabitual)
 {
     // Establece el período actual
     $periodoActual = $this->gestorPeriodos->getPeriodoActual($horarioHabitual->getArea()->getIdArea());
     $horarioHabitual->setPeriodo($periodoActual);
     // Inserta el nuevo período
     $idHorarioHabitual = $this->horarioDAO->insertarHorarioHabitual($horarioHabitual);
     $horarioHabitual = $this->horarioDAO->getHorarioHabitual($idHorarioHabitual);
     // Generacion de los horarios asignados
     $this->generarHorariosAsignados($horarioHabitual);
 }
 public function getHorarioHabitual($idHorarioHabitual)
 {
     $connection = parent::initDB();
     $query = "SELECT idHorarioHabitual, area, periodo, dia, ingreso, egreso, usuario " . "FROM horario_asignado_habitual " . "WHERE idHorarioHabitual = {$idHorarioHabitual}";
     $result = mysql_query($query);
     if (mysql_num_rows($result) != 1) {
         throw new Exception('No se pudo obtener el horario');
     }
     $row = mysql_fetch_array($result);
     $horario = new HorarioHabitual();
     $horario->setIdHorarioHabitual($row['idHorarioHabitual']);
     $horario->setDia(new DiaSemana($row['dia']));
     $horario->setIngreso($row['ingreso']);
     $horario->setEgreso($row['egreso']);
     $horario->setArea($this->areaDAO->getArea($row['area']));
     $horario->setPeriodo($this->periodoDAO->getPeriodo($row['periodo']));
     $gestorUsuarios = new GestorUsuarios();
     $horario->setUsuario($gestorUsuarios->getUsuario($row['usuario']));
     parent::closeDB($connection);
     return $horario;
 }