public final function Discard(Object\UnitOfWork $UnitOfWork, $ParentEntity) { $Domain = $UnitOfWork->GetDomain(); list($CurrentValue, $HasOriginalValue, $OriginalValue) = $this->GetEntityRelationshipData($ParentEntity); return $this->DiscardRelationshipChanges($Domain, $UnitOfWork, $ParentEntity, $CurrentValue, $HasOriginalValue, $OriginalValue); }
public function Discard(Object\UnitOfWork $UnitOfWork, $ParentEntity) { $Domain = $UnitOfWork->GetDomain(); list($CurrentValue, $HasOriginalValue, $OriginalValue) = $this->GetEntityRelationshipData($ParentEntity); $OriginalIsValidEntity = $this->IsValidEntity($OriginalValue); $CurrentIsValidEntity = $this->IsValidEntity($CurrentValue); $DiscardedRelationship = null; if (!$CurrentIsValidEntity && !$this->IsOptional) { throw $this->InvalidEntityAndIsRequired($CurrentValue); } if ($OriginalIsValidEntity) { $DiscardedRelationship = $this->RelationshipType->GetDiscardedRelationship($Domain, $UnitOfWork, $ParentEntity, $OriginalValue); } return new Object\RelationshipChange(null, $DiscardedRelationship); }