1

私はこれを持っています:

UserProfile prof = getUserProfile(properties.CurrentUserId);
UserProfile toCheck = getUserProfile(anotherUsersId);

「prof」ユーザーは、「toCheck」ユーザーより上位または同じレベルである必要があります。「toCheck」が下位レベルにある場合、階層ツリーの同じブランチにいる必要があります。彼らが同じレベルにいる場合、彼らのマネージャーは同じでなければなりません。

これを確認する簡単な方法はありますか?

4

2 に答える 2

2

ここで役立ついくつかの方法があります。

私が見つけた「簡単な方法」はありませんが、これらのメソッドを使用する独自のヘルパー クラスを作成し、ユーザー プロファイルを走査して、必要な情報を見つけることができます。

余談ですが、「同僚」はこれとは関係ありません。これらは、完全な個人用サイトの実装により、ユーザーが自分自身を管理できるユーザーのリストです。

于 2009-10-08T10:54:24.987 に答える
0

擬似コード:

function compare(manager, toCheck, prof) 
{
    toManager=toCheck.manager;
    if (toManager!=null)
    {
        if (manager==tomanager || prof==tomanager)
        {
            return true;
        }
        else
        {
            return compare("", tomanager, prof);
        }
    }
    else // he/she is the boss
    {
        return false;
    }

}

...

if (prof.manager!=null)
{
    compare(prof.manager, toCheck, prof);
}
else  // he/she is the boss
{
    return true;
}
于 2009-10-08T13:29:20.133 に答える