예제 #1
0
        /// <summary>
        /// Takes in an Email and returns a LDAP Object(Person Object) of that User
        /// </summary>
        /// <param name="emailAlias"></param>
        /// <returns>LDAPuser</returns>
        public static LDAPuser getLDAPEntryByEmailAlias(string emailAlias)
        {
            // Split the email address and get the contents before the @
            string[] splitEmailAlias = emailAlias.Split('@');
            string   templeEduTUNA   = splitEmailAlias[0];

            // Create the WebService proxy, send the search request and receive the TempleLDAPEntry object
            WS_LDAPSearch.LDAP_Search       ldapProxy = new WS_LDAPSearch.LDAP_Search();
            WS_LDAPSearch.TempleLDAPEntry[] results   = new WS_LDAPSearch.TempleLDAPEntry[1];
            results = ldapProxy.Search(webServiceUsername, webServicePassword, "templeEduTUNA", templeEduTUNA);
            WS_LDAPSearch.TempleLDAPEntry resultEntry = results[0];

            // Check if request was successful
            if (resultEntry.error == null)     // Success
            {
                // Create our TempleLDAPEntry object to be returned
                LDAPuser personLDAPEntry = new LDAPuser();
                personLDAPEntry.templeEduID                 = resultEntry.templeEduTUID;
                personLDAPEntry.uID                         = resultEntry.uid;
                personLDAPEntry.cn                          = resultEntry.cn;
                personLDAPEntry.givenName                   = resultEntry.givenName;
                personLDAPEntry.sn                          = resultEntry.sn;
                personLDAPEntry.eduPersonAffiliation        = resultEntry.eduPersonAffiliation;
                personLDAPEntry.eduPersonPrimaryAffiliation = resultEntry.eduPersonPrimaryAffiliation;
                personLDAPEntry.mail                        = resultEntry.mail;
                personLDAPEntry.title                       = resultEntry.title;
                return(personLDAPEntry);
            }
            else     // Something went wrong..
            {
                return(null);
            }
        }
예제 #2
0
        /// <summary>
        /// Takes in an accessnet and returns an LDAPuser (Person Object) based on that AccessnetID
        /// </summary>
        /// <param name="accessnetID"></param>
        /// <returns>LDAPuser</returns>
        public static LDAPuser getLDAPEntryByAccessnet(string accessnetID)
        {
            // Create the WebService proxy, send the search request and receive the TempleLDAPEntry object
            WS_LDAPSearch.LDAP_Search       ldapProxy = new WS_LDAPSearch.LDAP_Search();
            WS_LDAPSearch.TempleLDAPEntry[] results   = new WS_LDAPSearch.TempleLDAPEntry[1];
            results = ldapProxy.Search(webServiceUsername, webServicePassword, "uid", accessnetID);
            WS_LDAPSearch.TempleLDAPEntry resultEntry = results[0];

            // Check if request was successful
            if (resultEntry.error == null)     // Success
            {
                // Create our TempleLDAPEntry object to be returned
                LDAPuser personLDAPEntry = new LDAPuser();
                personLDAPEntry.templeEduID                 = resultEntry.templeEduTUID;
                personLDAPEntry.uID                         = resultEntry.uid;
                personLDAPEntry.cn                          = resultEntry.cn;
                personLDAPEntry.givenName                   = resultEntry.givenName;
                personLDAPEntry.sn                          = resultEntry.sn;
                personLDAPEntry.eduPersonAffiliation        = resultEntry.eduPersonAffiliation;
                personLDAPEntry.eduPersonPrimaryAffiliation = resultEntry.eduPersonPrimaryAffiliation;
                personLDAPEntry.mail                        = resultEntry.mail;
                personLDAPEntry.title                       = resultEntry.title;
                return(personLDAPEntry);
            }
            else     // Something went wrong..
            {
                return(null);
            }
        }
예제 #3
0
        /// <summary>
        /// takes in a TUID and creates a StudentObj with Full name, Email, TUID, Major, and College Code
        /// </summary>
        /// <param name="TUID"></param>
        /// <returns></returns>
        public static StudentObj getStudentInfo(string TUID)
        {
            //////// Get LDAP Info
            StudentObj student = new StudentObj();
            LDAPuser   entry   = getLDAPEntryByTUID(TUID);

            if (entry != null)
            {
                String[] name = entry.cn.Split(null); // splits 'cn' into first, middle, last

                if (name.Length == 2)                 // No middle initial
                {
                    student.firstName  = name[0];
                    student.middleInit = "";
                    student.lastName   = name[1];
                }
                else if (name.Length == 3)     // Has middle initial
                {
                    student.firstName  = name[0];
                    student.middleInit = name[1];
                    student.lastName   = name[2];
                }
                else if (name.Length == 4)     // Special case for people with 4 part names
                {
                    student.firstName  = name[0];
                    student.middleInit = name[1] + " " + name[2];
                    student.lastName   = name[3];
                }

                student.email = entry.mail;
                student.tuid  = entry.templeEduID;

                //////// Get Academic Info
                WS_StudentSearch.WS_Student studentProxy = new WS_StudentSearch.WS_Student();
                WS_StudentSearch.Result     results      = new WS_StudentSearch.Result();
                results = studentProxy.GetAcademicInfoByTUID(webServiceUsername, webServicePassword, TUID);

                // Check if request was successful
                if (results.Status == "OK")     // Success
                {
                    WS_StudentSearch.Student[] s = results.Students;
                    student.major1 = s[0].major1;
                    student.major2 = s[0].major2;
                    student.school = s[0].collegeCode;
                }
                else     // Something went wrong...
                {
                    return(null);
                }
            }

            return(student);
        }