public List<OutboundRule> GetOutboundRules() { if (db == null) { return null; } var redirectFolderItems = GetRedirectFolderItems(); if (redirectFolderItems == null) { return null; } var outboundRules = new List<OutboundRule>(); foreach (var redirectFolderItem in redirectFolderItems) { Log.Info(this, db, "Loading Outbound Rules from RedirectFolder: {0}", redirectFolderItem.Name); var folderDescendants = redirectFolderItem.Axes.GetDescendants() .Where(x => x.TemplateID == new ID(new Guid(OutboundRuleItem.TemplateId))); foreach (var descendantItem in folderDescendants) { if (descendantItem.TemplateID == new ID(new Guid(OutboundRuleItem.TemplateId))) { var outboundRuleItem = new OutboundRuleItem(descendantItem); Log.Info(this, db, "Loading OutboundRule: {0}", outboundRuleItem.Name); var outboundRule = CreateOutboundRuleFromOutboundRuleItem(outboundRuleItem, redirectFolderItem); if (outboundRule != null && outboundRule.Enabled) { outboundRules.Add(outboundRule); } } } } return outboundRules; }
internal OutboundRule CreateOutboundRuleFromOutboundRuleItem(OutboundRuleItem outboundRuleItem, RedirectFolderItem redirectFolderItem) { var outboundRule = outboundRuleItem.ToOutboundRule(); return outboundRule; }