public function toggleEventMember($memberId)
 {
     if ($this->isClosed()) {
         throw new opCommunityEventMemberAppendableException('This event has already been finished.');
     }
     if ($this->isExpired()) {
         throw new opCommunityEventMemberAppendableException('This event has already been expired.');
     }
     if ($this->isEventMember($memberId)) {
         $eventMember = Doctrine::getTable('CommunityEventMember')->retrieveByEventIdAndMemberId($this->getId(), $memberId);
         $eventMember->delete();
     } else {
         if ($this->isAtCapacity()) {
             throw new opCommunityEventMemberAppendableException('This event has already been at capacity.');
         }
         $eventMember = new CommunityEventMember();
         $eventMember->setCommunityEventId($this->getId());
         $eventMember->setMemberId($memberId);
         $eventMember->save();
     }
 }
  protected function execute($arguments = array(), $options = array())
  {
    $databaseManager = new sfDatabaseManager($this->configuration);
    $this->conn = $databaseManager->getDatabase('doctrine')->getDoctrineConnection();

    $communityIds = $this->getCommunityIds();
    for ($i=0; $i < $options['communitynumber']; ++$i)
    {
      $communityId = $this->fetchRandomCommunityId($communityIds);
      $eventIds = $this->getEventIds($communityId);
      $memberIds = $this->getMemberIds($communityId);
      for ($j=0; $j < $options['eventnumber']; ++$j)
      {
        // イベントコメント
        for ($k=0; $k < $options['number']; ++$k)
        {
          $ctc = new CommunityEventComment();
          $ctc->setMemberId(self::fetchRandomMemberId($memberIds));
          $ctc->setCommunityEventId(self::fetchRandomEventId($eventIds));
          $ctc->setBody('body');
          $ctc->save();
          $ctc->free();
          $this->logSection('created a community event comment', sprintf("%s", $communityId));
        }
        // イベント参加メンバー
        for ($k=0; $k < $options['member']; ++$k)
        {
          $ctm = new CommunityEventMember();
          $ctm->setMemberId(self::fetchRandomMemberId($memberIds));
          $ctm->setCommunityEventId(self::fetchRandomEventId($eventIds));
          $ctm->save();
          $ctm->free();
          $this->logSection('created a community event member', sprintf("%s", $communityId));
        }
      }
    }
  }