Satrabel.OpenUrlRewriter.Components.CacheController.GetRedirectCustomModuleRule C# (CSharp) Метод

GetRedirectCustomModuleRule() приватный Метод

private GetRedirectCustomModuleRule ( string CultureCode, int TabId, string Url ) : Satrabel.HttpModules.Provider.UrlRule
CultureCode string
TabId int
Url string
Результат Satrabel.HttpModules.Provider.UrlRule
        private UrlRule GetRedirectCustomModuleRule(string CultureCode, int TabId, string Url)
        {
            Url = Url.ToLower();
            UrlRule rule = null;
            bool RemoveTab = TabId == Null.NullInteger;
            var rules = _rules.Where(r => r.RuleType == UrlRuleType.Custom && r.IsMatchRedirectDestination(Url) && r.Action == UrlRuleAction.Rewrite /*&& r.RemoveTab == RemoveTab*/);
            //with tabid
            if (TabId != Null.NullInteger)
            {
                var tabRules = rules.Where(r => r.TabId == TabId);
                rule = GetFirstRule(tabRules, CultureCode);
            }
            //without tabid
            if (rule == null)
            {
                rule = GetFirstRule(rules, CultureCode);
            }
            if (rule != null)
            {
                rule = new UrlRule()
                {
                    CultureCode = rule.CultureCode,
                    TabId = rule.TabId,
                    RuleType = rule.RuleType,
                    Action = UrlRuleAction.Redirect,
                    Url = rule.RedirectDestination,
                    RedirectDestination = rule.Url,
                    RemoveTab = rule.RemoveTab
                };
            }
            return rule;
        }