public function getChain($chainId, \Core\Database $db) { $sql = "select * from appointments where chain=:chain"; if ($recs = $db->fetchAllAssoc($sql, array(":chain" => $chainId))) { $result = new \Application\AppointmentChain(); foreach ($recs as $record) { $result->add(new \Application\AppointmentItem($record)); } return $result; } else { return new \Application\AppointmentChain(); } }
public function testFilteredInterface() { $chain = new \Application\AppointmentChain(); $item1 = new \Application\AppointmentItem(self::$arrayToTest1); $item2 = new \Application\AppointmentItem(self::$arrayToTest2); $item3 = new \Application\AppointmentItem(self::$arrayToTest3); $chain->add($item1); $chain->add($item2); $chain->add($item3); $chain->applyFilter(new \DateTime('2015-10-15 12:00:00')); $chain->rewind(); $this->assertEquals(2, $chain->count()); $this->assertEquals($item2, $chain->current()); $chain->next(); $this->assertEquals($item3, $chain->current()); $chain->next(); $this->assertFalse($chain->valid()); $this->assertFalse($chain->isMeetFilter($item1)); $this->assertTrue($chain->isMeetFilter($item2)); $this->assertTrue($chain->isMeetFilter($item3)); $this->assertEquals($item1, $chain->get(10)); $this->assertEquals($item2, $chain->get(20)); $this->assertEquals($item3, $chain->get(30)); $this->assertEquals(null, $chain->get(40)); $chain->setChainId(50); $this->assertEquals(50, $item1->getChain()); $this->assertEquals(50, $item2->getChain()); $this->assertEquals(50, $item3->getChain()); }