/**
  * Realiza las validaciones necesarias y agrega un nuevo período al sistema.
  * Informa errores mediante excepciones.
  */
 private function agregarPeriodo()
 {
     if (isset($_REQUEST['nombre']) && isset($_REQUEST['area']) && isset($_REQUEST['fechaInicio']) && isset($_REQUEST['fechaFin']) && isset($_REQUEST['observaciones'])) {
         // Acciones ejecutadas
         $periodo = new Periodo();
         $periodo->setNombre($_REQUEST['nombre']);
         $periodo->setArea($this->gestorAreas->getArea($_REQUEST['area']));
         $periodo->setInicio($_REQUEST['fechaInicio']);
         $periodo->setFin($_REQUEST['fechaFin']);
         $periodo->setObservaciones($_REQUEST['observaciones']);
         // Impresion
         imprimirTabulados(5);
         echo '<div class="tablaTituloBotones">';
         try {
             $this->gestorPeriodos->insertarPeriodo($periodo);
             imprimirTabulados(6);
             echo '<h3>El período ha sido agregado exitosamente</h3>';
         } catch (Exception $excepcion) {
             imprimirTabulados(5);
             echo '<h2>Se produjo un error al procesar la solicitud:</h2><br />';
             imprimirTabulados(5);
             echo '<h3>' . $excepcion->getMessage() . '</h3>';
         }
         imprimirTabulados(5);
         echo '</div>';
         $this->imprimirListaPeriodos();
     } else {
         throw new Exception('No se especificó un parámetro');
     }
 }