Example #1
0
 static function removerAsignacion($EventoId, $FuncionesId)
 {
     //Elimina todas las zonas, subzonas, filas, lugares de la funcion que se le indique
     $identificador = compact('EventoId', 'FuncionesId');
     $transaction = Yii::app()->db->beginTransaction();
     Subzona::model()->deleteAllByAttributes($identificador);
     Filas::model()->deleteAllByAttributes($identificador);
     Lugares::model()->deleteAllByAttributes($identificador);
     Zonaslevel1::model()->deleteAllByAttributes($identificador);
     Zonastipo::model()->deleteAllByAttributes($identificador);
     Zonastipolevel1::model()->deleteAllByAttributes($identificador);
     $mapagrande = ConfigurlFuncionesMapaGrande::model()->findByAttributes(array('EventoId' => $EventoId, 'FuncionId' => $FuncionesId));
     if (is_object($mapagrande)) {
         // Si tiene un mapa grande se eliminan primero sus coordenadas para que no de restriccion de llaves foraneas
         ConfigurlMapaGrandeCoordenadas::model()->deleteAllByAttributes(array('configurl_funcion_mapa_grande_id' => $mapagrande->id));
         $mapagrande->delete();
     }
     if (Zonas::model()->deleteAllByAttributes($identificador)) {
         $funcion = Funciones::model()->findByPk($identificador);
         $funcion->ForoId = 0;
         $funcion->ForoMapIntId = 0;
         $transaction->commit();
     } else {
         $transaction->rollback();
     }
     return Zonas::model()->countByAttributes($identificador) == 0;
 }
Example #2
0
File: Zonas.php Project: cicb/tpc
 public function beforeDelete()
 {
     $identificador = array('EventoId' => $this->EventoId, 'FuncionesId' => $this->FuncionesId, 'ZonasId' => $this->ZonasId);
     $ventas = Ventaslevel1::model()->countByAttributes(array('EventoId' => $this->EventoId));
     if ($ventas == 0) {
         //Si no hay ventas
         Subzona::model()->deleteAllByAttributes($identificador);
         Filas::model()->deleteAllByAttributes($identificador);
         Lugares::model()->deleteAllByAttributes($identificador);
         Zonaslevel1::model()->deleteAllByAttributes($identificador);
         Zonastipo::model()->deleteAllByAttributes($identificador);
         Zonastipolevel1::model()->deleteAllByAttributes($identificador);
         //$mapagrande=ConfigurlFuncionesMapaGrande::model()->findByAttributes(array(
         //'EventoId'=>$this->EventoId,'FuncionId'=>$this->FuncionesId));
         //if (is_object($mapagrande)) {
         //// Si tiene un mapa grande se eliminan primero sus coordenadas para que no de restriccion de llaves foraneas
         //ConfigurlMapaGrandeCoordenadas::model()->deleteAllByAttributes(array(
         //'configurl_funcion_mapa_grande_id'=>$mapagrande->id));
         //$mapagrande->delete();
         //}
         return parent::beforeDelete();
     } else {
         // Si hay ventas, no elimina
         //error_log(sprintf("v:$ventas EID:%d\n",$this->EventoId),3,'/tmp/errores.php');
         return false;
     }
 }