public function fetchAll()
 {
     $this->buildStart();
     $this->build();
     $this->buildStat();
     $results = array();
     while ($data = $this->stat->fetch()) {
         $uae = new UserAtEventModel();
         $uae->setFromDataBaseRow($data);
         $results[] = $uae;
     }
     return $results;
 }
 /**
  * @dataProvider dataForTest1
  */
 function test1($emailOption, $goingOption, $result)
 {
     TimeSource::mock(2013, 8, 1, 7, 0, 0);
     $user = new UserAccountModel();
     $user->setEmail("*****@*****.**");
     $user->setUsername("test");
     $user->setPassword("password");
     $userRepo = new UserAccountRepository();
     $userRepo->create($user);
     $site = new SiteModel();
     $site->setTitle("Test");
     $site->setSlug("test");
     $siteRepo = new SiteRepository();
     $siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
     $event = new EventModel();
     $event->setSummary("test");
     $event->setDescription("test test");
     $event->setStartAt($this->mktime(2013, 8, 2, 19, 0, 0));
     $event->setEndAt($this->mktime(2013, 8, 2, 21, 0, 0));
     $eventRepository = new EventRepository();
     $eventRepository->create($event, $site, $user);
     $user->setEmailUpcomingEventsDaysNotice(1);
     $user->setEmailUpcomingEvents($emailOption);
     $userRepo->editEmailsOptions($user);
     if ($goingOption == 'a') {
         $userAtEvent = new UserAtEventModel();
         $userAtEvent->setUserAccountId($user->getId());
         $userAtEvent->setEventId($event->getId());
         $userAtEvent->setIsPlanAttending(true);
         $uaeRepo = new UserAtEventRepository();
         $uaeRepo->save($userAtEvent);
     } else {
         if ($goingOption == 'm') {
             $userAtEvent = new UserAtEventModel();
             $userAtEvent->setUserAccountId($user->getId());
             $userAtEvent->setEventId($event->getId());
             $userAtEvent->setIsPlanMaybeAttending(true);
             $uaeRepo = new UserAtEventRepository();
             $uaeRepo->save($userAtEvent);
         }
     }
     list($upcomingEvents, $allEvents, $userAtEvent, $flag) = $user->getDataForUpcomingEventsEmail();
     $this->assertEquals($result, $flag);
 }
 public function edit(UserAtEventModel $userAtEvent)
 {
     global $DB;
     $stat = $DB->prepare("UPDATE user_at_event_information SET " . " is_plan_attending=:is_plan_attending, is_plan_maybe_attending=:is_plan_maybe_attending, is_plan_public=:is_plan_public " . " WHERE user_account_id=:user_account_id AND event_id = :event_id");
     $stat->execute(array('user_account_id' => $userAtEvent->getUserAccountId(), 'event_id' => $userAtEvent->getEventId(), 'is_plan_attending' => $userAtEvent->getIsPlanAttending() ? 1 : 0, 'is_plan_maybe_attending' => $userAtEvent->getIsPlanMaybeAttending() ? 1 : 0, 'is_plan_public' => $userAtEvent->getIsPlanPublic() ? 1 : 0));
 }