Storm\Core\Relational\Table::GetDepedencyOrderBetweenInternal PHP Method

GetDepedencyOrderBetweenInternal() private method

private GetDepedencyOrderBetweenInternal ( $ForPersising, Storm\Core\Relational\ITable $OtherTable, $Reversed = false )
$OtherTable Storm\Core\Relational\ITable
    private function GetDepedencyOrderBetweenInternal($ForPersising, ITable $OtherTable, $Reversed = false)
    {
        foreach ($this->AllRelations as $Relation) {
            if ($Relation->GetTable()->Is($OtherTable)) {
                if ($ForPersising) {
                    return $Relation->GetPersistingDependencyOrder();
                } else {
                    return $Relation->GetDiscardingDependencyOrder();
                }
            }
        }
        if ($Reversed) {
            return null;
        } else {
            $DependendencyOrder = $OtherTable->GetDepedencyOrderBetweenInternal($ForPersising, $this, true);
            if ($DependendencyOrder === DependencyOrder::After) {
                return DependencyOrder::Before;
            } else {
                if ($DependendencyOrder === DependencyOrder::Before) {
                    return DependencyOrder::After;
                } else {
                    return null;
                }
            }
        }
    }