public static OutboundRule ToOutboundRule(this OutboundRuleItem outboundRuleItem) { if (outboundRuleItem == null) { return(null); } var conditionItems = GetBaseConditionItems(outboundRuleItem); var outboundRule = new OutboundRule { ItemId = outboundRuleItem.ID.Guid, Name = outboundRuleItem.Name }; SetBaseRule(outboundRuleItem.BaseRuleItem, outboundRule); SetOutboundMatch(outboundRuleItem.OutboundMatchItem, outboundRule); GetPrecondition(outboundRuleItem.OutboundPreconditionItem, outboundRule); if (string.IsNullOrEmpty(outboundRuleItem.BaseRuleItem.BaseMatchItem.MatchPatternItem.Pattern.Value)) { Log.Warn(logObject, outboundRuleItem.Database, "No pattern set on rule with ItemID: {0}", outboundRuleItem.ID); return(null); } if (outboundRuleItem.Action == null) { Log.Warn(logObject, outboundRuleItem.Database, "No action set on rule with ItemID: {0}", outboundRuleItem.ID); return(null); } var baseActionItem = outboundRuleItem.Action.TargetItem; IBaseAction baseAction = null; if (baseActionItem != null) { var baseActionItemTemplateId = baseActionItem.TemplateID.ToString(); if (baseActionItemTemplateId.Equals(OutboundRewriteItem.TemplateId, StringComparison.InvariantCultureIgnoreCase)) { baseAction = new OutboundRewriteItem(baseActionItem).ToOutboundRewriteAction(); } } outboundRule.Action = baseAction; if (conditionItems != null) { SetConditions(conditionItems, outboundRule); } return(outboundRule); }
public static OutboundRewrite ToOutboundRewriteAction(this OutboundRewriteItem outboundRewriteItem) { if (outboundRewriteItem == null) { return(null); } var outboundRewriteAction = new OutboundRewrite() { Name = outboundRewriteItem.Name, Value = outboundRewriteItem.Value.Value }; var stopProcessingItem = outboundRewriteItem.BaseStopProcessingItem; GetStopProcessing(stopProcessingItem, outboundRewriteAction); return(outboundRewriteAction); }