/**
  * Agrega un nuevo horario habitual al usuario. Verifica que estén presente
  * todos los campos y sean correctos. Controla que no haya superposición de
  * horarios. Imprime los resultados.
  */
 private function agregarHorarioHabitual()
 {
     if (isset($_REQUEST['area']) && isset($_REQUEST['dia']) && isset($_REQUEST['ingreso']) && isset($_REQUEST['egreso'])) {
         // Acciones ejecutadas
         $this->horario = new HorarioHabitual();
         $this->horario->setUsuario($this->usuario);
         $this->horario->setDia(new DiaSemana($_REQUEST['dia']));
         $this->horario->setIngreso($_REQUEST['ingreso']);
         $this->horario->setEgreso($_REQUEST['egreso']);
         $this->horario->setArea($this->gestorAreas->getArea($_REQUEST['area']));
         $horariosSuperpuestos = $this->gestorHorarios->getHorariosHabitualesSuperpuestos($this->horario);
         if (empty($horariosSuperpuestos)) {
             $this->gestorHorarios->insertarHorarioHabitual($this->horario);
             imprimirTabulados(5);
             echo '<div class="tablaTituloBotones">';
             imprimirTabulados(6);
             echo '<h3>El horario:</h3>';
             $horarios = array();
             array_push($horarios, $this->horario);
             $tabla = new TablaHorariosHabitualesAgregados($horarios);
             $tabla->imprimir();
             imprimirTabulados(6);
             echo '<h3>Ha sido agregado exitosamente</h3>';
             imprimirTabulados(5);
             echo '</div>';
         } else {
             $this->imprimirHorariosSuperpuestos($horariosSuperpuestos);
         }
     } else {
         throw new Exception('No se especificó un parámetro');
     }
 }