如何检查另一个用户是否处于公司层次结构中的相同或较低级别?

发布于 2024-08-06 13:25:00 字数 282 浏览 3 评论 0原文

我知道:

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

“prof”用户必须与“toCheck”用户处于更高或相同的级别。如果“toCheck”位于较低级别,则他/她必须位于层次结构树的同一分支上。如果他们处于同一级别,那么他们的经理必须是同一个人。

有没有简单的方法来检查这个?

I've got this:

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

"prof" user must be on a higher or on the same level as "toCheck" user. If "toCheck" is on a lower level he/she must be on the same branch of the hierarchy tree. If they are on the same level, their manager must be the same.

Is there an easy way to check this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦幻之岛 2024-08-13 13:25:00

有一些方法可以在这里帮助您:

我发现没有“简单的方法”,但您可以编写自己的帮助器类来使用这些方法,遍历用户配置文件,并找到您需要的信息。

顺便说一句:“同事”与此无关。他们是一个人员列表,通过完整的“我的网站”实施,用户可以对其进行自我管理。

There are a few methods that should help you here:

There is no "easy way" that I've found but you can write your own helper classes that use these methods, traverse the user profiles, and find the information you need.

As an aside: "Colleagues" is not related to this. They are a list of people that, with a complete My Site implementation, users can manage themselves.

南城旧梦 2024-08-13 13:25:00

一些伪代码:

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;
}

Some pseudo code:

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文