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 回答