public List<SyncTree> GetSyncTrees()
{
if (ConfigXml == null)
return null;
var syncTrees = new List<SyncTree>();
foreach (XmlNode node in ConfigXml.SelectNodes("//SyncTrees/SyncTree"))
{
var ADExceptions = new List<string>();
foreach (XmlNode exceptionNode in node.SelectNodes("ADExceptions/ADException"))
{
ADExceptions.Add(exceptionNode.InnerText);
}
var portalExceptions = new List<string>();
foreach (XmlNode exceptionNode in node.SelectNodes("PortalExceptions/PortalException"))
{
portalExceptions.Add(exceptionNode.InnerText);
}
string deletedADObjectsPath = null;
var deletedADObjectsPathNode = node.SelectSingleNode("DeletedADObjectsPath");
if (deletedADObjectsPathNode != null)
{
deletedADObjectsPath = deletedADObjectsPathNode.InnerText;
}
bool syncGroups = true;
var syncGroupsNode = node.SelectSingleNode("SyncGroups");
if (syncGroupsNode != null)
{
syncGroups = Convert.ToBoolean(syncGroupsNode.InnerText);
}
syncTrees.Add(
new SyncTree()
{
Config = this,
ADPath = node.SelectSingleNode("AdPath").InnerText,
PortalPath = node.SelectSingleNode("PortalPath").InnerText,
IPAddress = node.SelectSingleNode("DomainIp").InnerText,
DeletedADObjectsPath = deletedADObjectsPath,
ADExceptions = ADExceptions,
PortalExceptions = portalExceptions,
SyncGroups = syncGroups
}
);
}
return syncTrees;
}
public List<PropertyMapping> GetPropertyMappings()