/**
* Adds an entity or criterion to the discardence queue.
* If AutoSave is enabled, the action will be commited.
*
* @param object|Fluent\CriterionBuilder|Object\ICriterion $EntityOrCriterion The entity or criterion to discard
* @return void
*/
public function Discard($EntityOrCriterion)
{
if ($EntityOrCriterion instanceof Fluent\CriterionBuilder) {
$this->DiscardedCriterionQueue[] = $EntityOrCriterion->BuildCriterion();
} else {
if ($EntityOrCriterion instanceof Object\ICriterion) {
$this->DiscardedCriterionQueue[] = $EntityOrCriterion;
} else {
$this->VerifyEntity(__METHOD__, $EntityOrCriterion);
$this->IdentityMap->RemoveFromCache($EntityOrCriterion);
$this->DiscardedQueue[] = $EntityOrCriterion;
}
}
$this->AutoSave();
}