كيفية التحقق إذا كان مستخدم آخر على نفس أو أقل مستوى في الشركة التسلسل الهرمي ؟

StackOverflow https://stackoverflow.com/questions/1536444

سؤال

أنا عندي هذا:

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

"الأستاذ" يجب أن يكون المستخدم على أعلى أو على نفس مستوى "toCheck" المستخدم.إن "toCheck" على مستوى أدنى انه/انها يجب أن تكون على نفس فرع من شجرة التسلسل الهرمي.إذا كانت على نفس المستوى ، يجب أن يكون مدير نفسه.

هل هناك طريقة سهلة للتحقق من هذا ؟

هل كانت مفيدة؟

المحلول

وهناك عدد قليل من الطرق التي ينبغي أن تساعدك هنا:

لا توجد "طريقة سهلة" التي وجدتها ولكن يمكنك الكتابة الخاصة بك فئات المساعد أن استخدام هذه الأساليب ، لاجتياز التشكيلات الجانبية للمستخدم ، والعثور على المعلومات التي تحتاج إليها.

بوصفها جانبا:"الزملاء" لا يتعلق هذا.فهي قائمة من الناس مع موقعي التنفيذ ، يمكن للمستخدمين إدارة أنفسهم.

نصائح أخرى

وبعض رمز زائف:

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;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top