/** * Realiza las validaciones necesarias y agrega una semana especial al período actual. * Informa errores mediante excepciones. */ private function agregarSemanaEspecial() { if (isset($_REQUEST['idPeriodo']) && isset($_REQUEST['fechaInicioSemanaEspecial']) && isset($_REQUEST['fechaFinSemanaEspecial']) && isset($_REQUEST['descripcionSemanaEspecial'])) { // Acciones ejecutadas $semanaEspecial = new SemanaEspecial(); $semanaEspecial->setPeriodo($this->gestorPeriodos->getPeriodo($_REQUEST['idPeriodo'])); $semanaEspecial->setDescripcion($_REQUEST['descripcionSemanaEspecial']); $semanaEspecial->setInicio($_REQUEST['fechaInicioSemanaEspecial']); $semanaEspecial->setFin($_REQUEST['fechaFinSemanaEspecial']); // Impresion imprimirTabulados(5); echo '<div class="tablaTituloBotones">'; try { $this->gestorPeriodos->insertarSemanaEspecial($semanaEspecial); imprimirTabulados(6); echo '<h3>La semana especial:</h3>'; $semanasEspeciales = array(); array_push($semanasEspeciales, $semanaEspecial); $tabla = new TablaSemanasEspecialesAgregadas($semanasEspeciales); $tabla->imprimir(); imprimirTabulados(6); echo '<h3>Ha sido agregada 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->imprimirPeriodo($_REQUEST['idPeriodo']); } else { throw new Exception('No se especificó un parámetro'); } }