function getPromocionByHotelIdAndFechas($idHotel, $inicio, $fin) { try { $promociones = DAOFactory::getPromocionDAO()->queryByHotelIdAndFechas($idHotel, $inicio, $fin); if ($promociones && count($promociones)) { return $promociones; } return false; } catch (Exception $e) { return false; } }
function completarCampania($idUsuario, $data_hotel, $data_empresa, $data_direccion, $idiomas, $monedas, $promociones) { try { $transaction = new Transaction(); $empresas = getEmpresasByUsuario($idUsuario); $empresa = $empresas[0]; $emp = updateEmpresa($empresa->id, $data_empresa, $data_direccion, false); if (!$emp) { throw new Exception('No se guardaron los datos de la empresa'); } $hoteles = getHotelesByUsuario($idUsuario); $idHotel = $hoteles[0]->id; $hotel = DAOFactory::getHotelDAO()->prepare($data_hotel, $idHotel); DAOFactory::getHotelDAO()->update($hotel); getClaveByHotel($idHotel); DAOFactory::getHotelIdiomaDAO()->deleteByHotelId($idHotel); if (count($idiomas)) { foreach ($idiomas as $idioma) { $id = DAOFactory::getHotelIdiomaDAO()->prepare(array('hotelId' => $idHotel, 'idiomaId' => $idioma)); DAOFactory::getHotelIdiomaDAO()->insert($id); } } DAOFactory::getHotelMonedaDAO()->deleteByHotelId($idHotel); if (count($monedas)) { foreach ($monedas as $moneda) { $mon = DAOFactory::getHotelMonedaDAO()->prepare(array('hotelId' => $idHotel, 'monedaId' => $moneda)); DAOFactory::getHotelMonedaDAO()->insert($mon); } } DAOFactory::getPromocionDAO()->deleteByHotelId($idHotel); foreach ($promociones as $data_promocion) { $data_promocion['hotelId'] = $idHotel; $promocion = DAOFactory::getPromocionDAO()->prepare($data_promocion); DAOFactory::getPromocionDAO()->insert($promocion); } $usuario = DAOFactory::getUsuarioDAO()->prepare(array('status' => 'activo'), $idUsuario); DAOFactory::getUsuarioDAO()->update($usuario); $transaction->commit(); return true; } catch (Exception $e) { var_dump($e); if ($transaction) { $transaction->rollback(); } return false; } }