Example #1
0
        /// <summary>
        /// Validates urls based on a provided model and collection of rules
        /// </summary>
        /// <param name="model">The model to validate a URL against</param>
        /// <param name="rules">The rules to use in validating a URL</param>
        public ODataUrlValidator(IEdmModel model, ODataUrlValidationRuleSet rules)
        {
            this.model = model;

            // Collect rules for each type
            List <ODataUrlValidationRule> ruleList;

            foreach (ODataUrlValidationRule rule in rules)
            {
                Type ruleType = rule.GetRuleType();
                if (!ruleDictionary.TryGetValue(ruleType, out ruleList))
                {
                    ruleList = new List <ODataUrlValidationRule>();
                    ruleDictionary.Add(ruleType, ruleList);
                }

                ruleList.Add(rule);
            }
        }