コード例 #1
0
ファイル: LDS.cs プロジェクト: andrewkrug/seadragon
        public static List<Student> getMatchingStudents(string givenName, string surname)
        {
            List<Student> matches = new List<Student>();

            using (PrincipalContext pc = new PrincipalContext(
                ContextType.ApplicationDirectory, "ailds01v.home.ad1.sou.edu:1556",
                "CN=Users,CN=University", ContextOptions.Negotiate | ContextOptions.SecureSocketLayer))
            {
                SouPerson findPerson = new SouPerson(pc);
                findPerson.GivenName = givenName;
                findPerson.Surname = surname;

                PrincipalSearcher searcher = new PrincipalSearcher(findPerson);
                PrincipalSearchResult<Principal> results = searcher.FindAll();

                foreach (SouPerson person in results)
                {
                    if (person.souStudent == true)
                    {
                        Student s = new Student();
                        s.setKey1(person.souStudentKey1);
                        s.setKey2(person.souStudentKey2);
                        s.setUsername(person.Name);
                        matches.Add(s);
                    }
                }

                return matches;
            }
        }
コード例 #2
0
ファイル: DirMgr.cs プロジェクト: andrewkrug/seadragon
        /// <summary>
        /// Tests whether or not givenName, surname, id and dob match a user
        /// </summary>
        /// <param name="givenName">Last name</param>
        /// <param name="surname">First name</param>
        /// <param name="id">SSN or 940</param>
        /// <param name="dob">Date of birth</param>
        /// <returns>
        /// username if a match is found
        /// empty string if a match is not found        
        /// </returns>
        public static string isValidKey(string givenName, string surname, string id, string strRawDOB)
        {
            string key1, key2, username;
            List<Student> matches;
            Student s = new Student();
            String dob = "";

            givenName = givenName.Trim();
            surname = surname.Trim();

            // Parse Calendar picker date into MMDDYY
            try
            {

                DateTime objDOB = DateTime.Parse(strRawDOB);
                dob = objDOB.ToString("MMddyy");
            }
            catch
            {
                // Try MMddyy
                try
                {
                    DateTime objDOB = DateTime.ParseExact(strRawDOB, "MMddyy", null);
                    dob = objDOB.ToString("MMddyy");
                }
                catch
                {
                    try
                    {
                        // Try MMddyyyy
                        DateTime objDOB = DateTime.ParseExact(strRawDOB, "MMddyyyy", null);
                        dob = objDOB.ToString("MMddyy");
                    }
                    catch
                    {
                        return "";
                    }
                }
            }

            matches = LDS.getMatchingStudents(givenName, surname);

            foreach (Student m in matches)
            {
                if (m.isKey(id, dob))
                {
                    log.Debug(String.Format("Student Key is valid for {0}", m.getUsername()));
                    return m.getUsername();
                }
                else
                {
                    log.Debug(String.Format("Student Key is invalid for {0}", m.getUsername()));
                }
            }

            return "";
        }