Advertisement
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://myldapaddress.com/ou=active,ou=employees,ou=people,o=domain.com", null, null, AuthenticationTypes.Secure);
- //string full_name = ADEntry.Properties["FullName"].Value.ToString();
- 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;
- name = de.Properties["cn"].Value.ToString();
- mail = de.Properties["mail"].Value.ToString();
- //var titel = de.Properties["title"].Value.ToString().Replace('.',' ');
- //var splits = titel.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries);
- //foreach (var a in splits.Select(split => split.ToLower()))
- //{
- // for (var i = 0; i < a.Length; i++)
- // {
- // if (i == 0)
- // {
- // title += a[i].ToString(CultureInfo.InvariantCulture).ToUpper();
- // }
- // else title += a[i];
- // }
- // title += " ";
- //}
- title = Strings.ToEachCaps(de.Properties["title"].Value.ToString().Replace('.', ' '));
- id = de.Properties["employeeNumber"].Value.ToString();
- firstname = de.Properties["givenName"].Value.ToString();
- lastname = de.Properties["sn"].Value.ToString();
- employeetype = de.Properties["employeeType"].Value.ToString();
- description = de.Properties["description"].Value.ToString();
- manageruid = de.Properties["manageruid"].Value.ToString();
- employeenumber = de.Properties["employeeNumber"].Value.ToString();
- telephonenumber = de.Properties["telephoneNumber"].Value.ToString();
- }
- public LDAP(string login, List<string> fields)
- {
- var searchRoot = new DirectoryEntry("LDAP://myldapaddress.com/ou=active,ou=employees,ou=people,o=domain.com", 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
Advertisement