Witam,
Jestem początkującym programistą i chciałbym wrzucić próbkę kodu do oceny.
class ADClass
{
DirectoryEntry rootPath;
DirectorySearcher search;
SearchResult result;
public SearchResultCollection allRecordsCollection;
private ArrayList parameters = new ArrayList();
public ADClass(string domainName, string searchFilter)
{
rootPath = new DirectoryEntry(domainName);
search = new DirectorySearcher(rootPath);
search.Filter = searchFilter;
}
public void addParameter(string parameter)
{
parameters.Add(parameter);
}
public void loadParameters()
{
for (int i = 0; i < parameters.Count; i++) {
search.PropertiesToLoad.Add(parameters[i].ToString());
}
}
public void findOne(){result = search.FindOne();}
public void findAll() { allRecordsCollection = search.FindAll(); }
public string getOne(string what)
{
return result.Properties[what][0].ToString();
}
}
// Przykładowe użycie
ADClass ad = new ADClass("LDAP://OU=Organization Unit,DC=domena,DC=pl", "(|(&(objectCategory=person)(objectClass=user)(givenName=Ma*)(sn=*)(department=*)))");
ad.addParameter("givenName");
ad.addParameter("sn");
ad.addParameter("department");
ad.findOne();
Console.Write(ad.getOne("givenName"));
Console.Write(ad.getOne("sn"));
Kod jeszcze powstaje i będzie udoskonalany, ale chciałbym się dowiedzieć na tym etapie czy popełniam jakieś błędy ew. czy da radę zrobić to jeszcze sprawniej. Z góry dziękuję za pomoc.