private const string Domain = "<b>DOMAINNAME</b>";
static readonly DirectoryEntry Entry = new DirectoryEntry("LDAP://" + Domain);
static readonly DirectorySearcher Dsearch = new DirectorySearcher(Entry);
static SearchResultCollection _sResultSetCol;
public string GetAdFIOfromLogin(string fio)
{
try
{
fio = fio;
Dsearch.Filter = "(&(<b>samaccountname</b>=" + fio + "))";
_sResultSetCol = Dsearch.FindAll();
try
{
foreach (SearchResult sResultSet in _sResultSetCol)
{
if (GetProperty(sResultSet, "samaccountname") == fio)
{
return GetProperty(sResultSet, "<b>name</b>");
}
}
}
catch (Exception e)
{
return e.Message;
}
}
catch (Exception e)
{
return e.Message;
}
return "";
}
submissioncontlength
logoncount
cn
msexchuseraccountcontrol
msexchrbacpolicylink
streetaddress
msexchpoliciesincluded
info
company
postalcode
adspath
userprincipalname
instancetype
st
physicaldeliveryofficename
msexchtextmessagingstate
showinaddressbook
otherpager
samaccountname
manager
msexchrecipientdisplaytype
distinguishedname
memberof
msexchelcmailboxflags
objectcategory
mailnickname
legacyexchangedn
objectclass
proxyaddresses
msexchalobjectversion
samaccounttype
homemdb
msexchhomeservername
telephonenumber
initials
countrycode
delivcontlength
co
publicdelegatesbl
givenname
name
msexchmailboxtemplatelink
l
badpwdcount
department
displayname
textencodedoraddress
useraccountcontrol
homemta
c
msexchuserculture
title
primarygroupid
codepage
sn
class EventManager
{
List<EventListenerBase> listeners = new List<EventListenerBase>();
public void Subscribe(EventListenerBase listener)
{
listeners.Add(listener);
}
public void Publish(Event e)
{
foreach (EventListenerBase listener in listeners)
{
listener.OnEvent(e);
}
}
public void Publish(MoveEvent e)
{
foreach (EventListenerBase listener in listeners)
{
listener.OnEvent(e);
}
}
public void Publish(BuildEvent e)
{
foreach (EventListenerBase listener in listeners)
{
listener.OnEvent(e);
}
}
}
abstract class EventListenerBase
{
public virtual void OnEvent(Event e)
{
}
public virtual void OnEvent(MoveEvent a)
{
}
public virtual void OnEvent(BuildEvent a)
{
}
}
class GameHandler : EventListenerBase
{
public override void OnEvent(Event e)
{
Debug.WriteLine("Event");
}
public override void OnEvent(BuildEvent a)
{
Debug.WriteLine("BuildEvent");
}
public override void OnEvent(MoveEvent a)
{
Debug.WriteLine("MoveEvent");
}
}
manager.Publish((Event) new MoveEvent())
не вызовет обработчик для MoveEvent.