public function getSemanaEspecial($idSemanaEspecial) { $connection = parent::initDB(); $query = "SELECT idSemanaEspecial, periodo, descripcion, inicio, fin " . "FROM semana_especial " . "WHERE idSemanaEspecial = {$idSemanaEspecial} "; $result = mysql_query($query); if (mysql_num_rows($result) != 1) { throw new Exception('No se pudo obtener la semana especial'); } $row = mysql_fetch_array($result); $semanaEspecial = new SemanaEspecial(); $semanaEspecial->setIdSemanaEspecial($row['idSemanaEspecial']); $semanaEspecial->setPeriodo($this->getPeriodo($row['periodo'])); $semanaEspecial->setDescripcion($row['descripcion']); $semanaEspecial->setInicioISO($row['inicio']); $semanaEspecial->setFinISO($row['fin']); parent::closeDB($connection); return $semanaEspecial; }
/** * 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'); } }