private function Persist($Id, Storm $BloggingStorm, Repository $BlogRepository, Repository $AuthorRepository, Repository $TagRepository) { $Blog = $this->CreateBlog(); foreach ($Blog->Posts as $Post) { $TagRepository->PersistAll($Post->Tags->getArrayCopy()); $AuthorRepository->Persist($Post->Author); } $BloggingStorm->SaveChanges(); $BlogRepository->Persist($Blog); $BlogRepository->SaveChanges(); return $Blog; }
public function __construct(callable $DomainDatabaseMapFactory, IConnection $Connection, IProxyGenerator $ProxyGenerator, Functional\IReader $FunctionReader, Functional\IParser $FunctionParser, Cache\ICache $Cache) { $this->Cache = $Cache; $DomainDatabaseMap = $this->Cache->Retrieve(self::DomainDatabaseMapInstanceKey); if (!$DomainDatabaseMap instanceof \Storm\Core\Mapping\DomainDatabaseMap) { $DomainDatabaseMap = $DomainDatabaseMapFactory(); $this->Cache->Save(self::DomainDatabaseMapInstanceKey, $DomainDatabaseMap); } parent::__construct($DomainDatabaseMap, $Connection, $ProxyGenerator, $FunctionReader, $FunctionParser); }