Пример #1
0
        /// <summary>
        /// Get primitive rules
        /// </summary>
        /// <param name="theVersion"></param>
        /// <param name="theTypeName"></param>
        /// <param name="theType"></param>
        /// <returns></returns>
        public IPrimitiveTypeRule[] getPrimitiveRules(string theVersion, string theTypeName, NHapi.Base.Model.IPrimitive theType)
        {
            IPrimitiveTypeRule[] result = new IPrimitiveTypeRule[0];
            if (originalContext != null)
            {
                result = originalContext.getPrimitiveRules(theVersion, theTypeName, theType);
            }

            foreach (ISpecificPrimitiveTypeRule rule in primitiveTypeRules)
            {
                // Add the rule if it applies
                bool flag1 = rule.GetVersions().Contains("*") || rule.GetVersions().Contains(theVersion);
                bool flag2 = rule.GetTypeNames().Contains("*") || rule.GetTypeNames().Contains(theTypeName);
                if (flag1 && flag2)
                {
                    List <IPrimitiveTypeRule> rules = new List <IPrimitiveTypeRule>(result);
                    rules.Add(rule);
                    result = rules.ToArray();
                }
            }

            return(result);
        }
Пример #2
0
        /// <summary>
        /// Get primitive rules
        /// </summary>
        /// <param name="theVersion"></param>
        /// <param name="theTypeName"></param>
        /// <param name="theType"></param>
        /// <returns></returns>
        public IPrimitiveTypeRule[] getPrimitiveRules(string theVersion, string theTypeName, NHapi.Base.Model.IPrimitive theType)
        {
            IPrimitiveTypeRule[] result = new IPrimitiveTypeRule[0];
            if (originalContext != null)
                result = originalContext.getPrimitiveRules(theVersion, theTypeName, theType);

            foreach (ISpecificPrimitiveTypeRule rule in primitiveTypeRules)
            {
                // Add the rule if it applies
                bool flag1 = rule.GetVersions().Contains("*") || rule.GetVersions().Contains(theVersion);
                bool flag2 = rule.GetTypeNames().Contains("*") || rule.GetTypeNames().Contains(theTypeName);
                if (flag1 && flag2)
                {
                    List<IPrimitiveTypeRule> rules = new List<IPrimitiveTypeRule>(result);
                    rules.Add(rule);
                    result = rules.ToArray();
                }

            }

            return result;
        }