public function GetDiscardedRelationship(Object\Domain $Domain, Object\UnitOfWork $UnitOfWork, $ParentEntity, $RelatedEntity) { if ($this->CascadeDiscard) { $UnitOfWork->Discard($RelatedEntity); } return $Domain->DiscardedRelationship($ParentEntity, $RelatedEntity); }
private function __ConstructProxy(Domain $Domain, RevivalData $AlreadyKnownRevivalData, callable $LoadRevivalDataFunction) { $this->Initialize(); $this->__Domain = $Domain; $this->__LoadRevivalDataFunction = $LoadRevivalDataFunction; $Unsetter = function ($PropertyName) { unset($this->{$PropertyName}); }; foreach (static::$__PropertiesToUnset as $DeclaringClass => $PropertyNames) { \Closure::bind($Unsetter, $this, $DeclaringClass); array_walk($PropertyNames, $Unsetter); } $Domain->LoadEntity($AlreadyKnownRevivalData, $this); $this->__IsConstructed = true; }
/** * Commits the supplied operations to the underlying database within a transactional scope. * * @param array $EntitiesToPersist The entities to persist * @param array $ProceduresToExecute The procedures to execute * @param array $EntitiesToDiscard The entities to discard * @param array $CriteriaToDiscard The criteria of entities to discard * @return void */ public final function Commit(array $EntitiesToPersist, array $ProceduresToExecute, array $EntitiesToDiscard, array $CriteriaToDiscard) { $UnitOfWork = $this->Domain->BuildUnitOfWork($EntitiesToPersist, $ProceduresToExecute, $EntitiesToDiscard, $CriteriaToDiscard); $Transaction = new Relational\Transaction(); $this->MapUnitOfWorkToTransaction($UnitOfWork, $Transaction); $this->Database->Commit($Transaction); }
private function IndexEntitiesByIdentity(Object\Domain $Domain, array &$Entities) { $IndexedEntities = []; foreach ($Entities as $Key => $Entity) { $IndexedEntities[$Domain->Identity($Entity)->Hash()] = $Entity; } $Entities = $IndexedEntities; }
protected function EntityMap(Object\Domain $Domain) { return $Domain->GetEntityMap(Post::GetType()); }
public function __construct() { parent::__construct(); }
public function GetDiscardedRelationship(Object\Domain $Domain, Object\UnitOfWork $UnitOfWork, $ParentEntity, $ChildEntity) { return $Domain->DiscardedIdentifyingRelationship($ParentEntity, $ChildEntity, $UnitOfWork); }
protected function ReviveArrayOfRevivalData(Object\Domain $Domain, $Entity, array $RevivalDataArray) { return $Domain->ReviveEntities($this->GetEntityType(), $RevivalDataArray); }