Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - public class LDAP
 - {
 - private string _login;
 - private string title;
 - private string name;
 - private string mail;
 - private string id;
 - private string firstname;
 - private string lastname;
 - private string employeetype;
 - private string description;
 - private string manageruid;
 - private string employeenumber;
 - private string telephonenumber;
 - public string Login { get { return _login; } }
 - public string Title { get { return title; } }
 - public string Name { get { return name; } }
 - public string Mail { get { return mail; } }
 - public string ID { get { return id; } }
 - public string FirstName { get { return firstname; } }
 - public string LastName { get { return lastname; } }
 - public string EmployeeType { get { return employeetype; } }
 - public string Description { get { return description; } }
 - public string ManagerUID { get { return manageruid; } }
 - public string EmployeeNumber { get { return employeenumber; } }
 - public string TelephoneNumber { get { return telephonenumber; } }
 - public LDAP(string login)
 - {
 - var searchRoot = new DirectoryEntry("LDAP://xxx/ou=active,ou=employees,ou=people,o=xxx");
 - searchRoot.AuthenticationType = AuthenticationTypes.Secure;
 - var ds = new DirectorySearcher(searchRoot, "(name=" + login + ")", new string[] { "title", "name", "mail", "cn", "employeeNumber", "givenName", "sn", "employeeType", "description", "manageruid", "employeeNumber", "telephoneNumber" });
 - var sr = ds.FindOne();
 - if (sr == null) return;
 - _login = login;
 - try
 - {
 - var de = sr.GetDirectoryEntry();
 - if (de.Properties["cn"] != null)
 - name = de.Properties["cn"].Value.ToString();
 - if (de.Properties["mail"] != null)
 - mail = de.Properties["mail"].Value.ToString();
 - if (de.Properties["title"] != null)
 - title = Strings.ToEachCaps(de.Properties["title"].Value.ToString().Replace('.', ' '));
 - if (de.Properties["employeeNumber"] != null)
 - id = de.Properties["employeeNumber"].Value.ToString();
 - if (de.Properties["givenName"] != null)
 - firstname = de.Properties["givenName"].Value.ToString();
 - if (de.Properties["sn"] != null)
 - lastname = de.Properties["sn"].Value.ToString();
 - if (de.Properties["employeeType"] != null)
 - employeetype = de.Properties["employeeType"].Value.ToString();
 - if (de.Properties["description"] != null)
 - description = de.Properties["description"].Value.ToString();
 - if (de.Properties["manageruid"] != null)
 - manageruid = de.Properties["manageruid"].Value.ToString();
 - if (de.Properties["employeeNumber"] != null)
 - employeenumber = de.Properties["employeeNumber"].Value.ToString();
 - if (de.Properties["telephoneNumber"] != null)
 - telephonenumber = de.Properties["telephoneNumber"].Value.ToString();
 - }
 - catch (Exception ex)
 - {
 - throw ex;
 - }
 - }
 - public LDAP(string login, List<string> fields)
 - {
 - var searchRoot = new DirectoryEntry("LDAP://xxx/ou=active,ou=employees,ou=people,o=xxx", null, null, AuthenticationTypes.Secure);
 - var ds = new DirectorySearcher(searchRoot, "(name=" + login + ")", new string[] { "title", "name", "mail", "cn", "employeeNumber", "givenName", "sn", "employeeType", "description", "manageruid", "employeeNumber", "telephoneNumber" });
 - var sr = ds.FindOne();
 - if (sr == null) return;
 - var de = sr.GetDirectoryEntry();
 - _login = login;
 - if (fields.Contains("FirstName"))
 - {
 - firstname = de.Properties["givenName"].Value.ToString();
 - }
 - if (fields.Contains("LastName"))
 - {
 - lastname = de.Properties["sn"].Value.ToString();
 - }
 - if (fields.Contains("Name"))
 - {
 - name = de.Properties["cn"].Value.ToString();
 - }
 - if (fields.Contains("Mail"))
 - {
 - mail = de.Properties["mail"].Value.ToString();
 - }
 - if (fields.Contains("Title"))
 - {
 - title = Strings.ToEachCaps(de.Properties["title"].Value.ToString().Replace('.', ' '));
 - }
 - if (fields.Contains("ID"))
 - {
 - id = de.Properties["employeeNumber"].Value.ToString();
 - }
 - if (fields.Contains("EmployeeType"))
 - {
 - employeetype = de.Properties["employeeType"].Value.ToString();
 - }
 - if (fields.Contains("Description"))
 - {
 - description = de.Properties["description"].Value.ToString();
 - }
 - if (fields.Contains("ManagerUID"))
 - {
 - manageruid = de.Properties["manageruid"].Value.ToString();
 - }
 - if (fields.Contains("EmployeeNumber"))
 - {
 - employeenumber = de.Properties["employeeNumber"].Value.ToString();
 - }
 - if (fields.Contains("TelephoneNumber"))
 - {
 - telephonenumber = de.Properties["telephoneNumber"].Value.ToString();
 - }
 - }
 - public static List<LDAP> GetUsers(List<string> logins)
 - {
 - return logins.Select(login => new LDAP(login)).ToList();
 - }
 - public static List<LDAP> GetFullNameTitle(List<string> logins)
 - {
 - var a = new List<string>();
 - a.Add("FirstName");
 - a.Add("LastName");
 - a.Add("Title");
 - return logins.Select(login => new LDAP(login, a)).ToList();
 - }
 - public string GetFullData(char delimiter)
 - {
 - var result = string.Empty;
 - result = "First Name:\t" + firstname + delimiter + "\r\n";
 - result += "Last Name:\t" + lastname + delimiter + "\r\n";
 - result += "Login:\t\t" + _login + delimiter + "\r\n";
 - result += "e-mail:\t\t" + mail + delimiter + "\r\n";
 - result += "Title:\t\t" + title + delimiter + "\r\n";
 - result += "Manager UID:\t" + manageruid + delimiter + "\r\n";
 - result += "Name:\t\t" + name + delimiter + "\r\n";
 - result += "ID:\t\t" + id + delimiter + "\r\n";
 - result += "Employee Type:\t" + employeetype + delimiter + "\r\n";
 - result += "Phone Number:\t" + telephonenumber + delimiter + "\r\n";
 - result += "Description:\t" + description + delimiter + "\r\n";
 - return result;
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment