AD/LDAP

Querying a user from Active Directory :




public List<Users> GetUsers() 
        {
            DirectoryEntry de = new DirectoryEntry(ConfigurationManager.AppSettings["ADSPath"]);
            DirectorySearcher Dsearch = new DirectorySearcher(de);
            Dsearch.Filter = "(&(objectClass=User))";
            List<Users> lstEmployees = new List<Users>();
            try
            {
                foreach (SearchResult sResultSet in Dsearch.FindAll())
                {
                    if (!string.IsNullOrEmpty(txtADUserName.Text.Trim()))
                    {
                        if (GetProperty(sResultSet, "cn").ToString() == txtADUserName.Text.Trim())
                        {
                            if (GetProperty(sResultSet, "mail").ToString() != "")
                            {
                              
                                    Users objUser = new Users();
                                    objUser.FirstName = GetProperty(sResultSet, "cn").ToString();
                                    objUser.EmailID = GetProperty(sResultSet, "mail").ToString();                                   
                                    objUser.Designation = GetProperty(sResultSet, "title").ToString();
                                    objUser.EmployeeId = GetProperty(sResultSet, "employeeid").ToString();                                    
                                    objUser.Mobile = GetProperty(sResultSet, "mobile").ToString();
                                    lstEmployees.Add(objUser);                              
                            }
                        }
                    }
                    else if (!string.IsNullOrEmpty(txtEmpId.Text.Trim()))
                    {
                        if (GetProperty(sResultSet, "mail").ToString() != "")
                        {
                            if (GetProperty(sResultSet, "employeeid").ToString().Equals(txtEmpId.Text.Trim()))
                            {
                                Users objUser = new Users();
                                objUser.FirstName = GetProperty(sResultSet, "cn").ToString();
                                objUser.EmailID = GetProperty(sResultSet, "mail").ToString();                               
                                objUser.Designation = GetProperty(sResultSet, "title").ToString();
                                objUser.EmployeeId = GetProperty(sResultSet, "employeeid").ToString();                               
                                objUser.Mobile = GetProperty(sResultSet, "mobile").ToString();
                                lstEmployees.Add(objUser);
                            }
                        }


                    }
                }
            }
            catch (Exception ex)
            {
                ClientScript.RegisterStartupScript(GetType(), "alert_msg", "alert('"+ ex.Message.ToString() +"');", true);
            }
            return lstEmployees;
        }


        public static string GetProperty(SearchResult searchResult, string PropertyName)
        {
            if (searchResult.Properties.Contains(PropertyName))
            {
                return searchResult.Properties[PropertyName][0].ToString();
            }
            else
            {
                return string.Empty;
            }
        }


        public static bool GetPropertyValue(SearchResult searchResult, string PropertyName, string[] Values)
        {


            if (searchResult.Properties.Contains(PropertyName))
            {
                ResultPropertyValueCollection ht = searchResult.Properties[PropertyName];
                IEnumerator enumerator = ht.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    for (int i = 0; i < Values.Length; i++)
                    {
                        if (enumerator.Current.ToString().Contains(Values[i]))
                        {
                            return true;
                        }
                    }
                }
                return false;
            }
            else
            {
                return false;
            }
        }

No comments:

Post a Comment