コード例 #1
0
ファイル: ConditionalDefinition.cs プロジェクト: llebel/OCTGN
        internal bool IfContains(Dictionary <string, string> values, CaseDefinition caseDef, out List <LinkDefinition.LinkWrapper> links)
        {
            links = new List <LinkDefinition.LinkWrapper>();
            string property = caseDef.property;

            if (caseDef.contains == null)
            {
                return(false);
            }
            string contains = caseDef.contains;

            links.AddRange(IfContainsList(values, caseDef, property, contains));
            return(links.Count > 0);
        }
コード例 #2
0
ファイル: ConditionalDefinition.cs プロジェクト: llebel/OCTGN
        internal bool IfValue(Dictionary <string, string> values, CaseDefinition caseDef, out List <LinkDefinition.LinkWrapper> links)
        {
            links = new List <LinkDefinition.LinkWrapper>();
            if (caseDef.property == null)
            {
                return(false);
            }
            if (caseDef.value == null)
            {
                return(false);
            }
            string property = caseDef.property;
            string value    = caseDef.value;

            links.AddRange(IfValueList(values, caseDef, property, value));
            return(links.Count > 0);
        }
コード例 #3
0
ファイル: ConditionalDefinition.cs プロジェクト: llebel/OCTGN
        private List <LinkDefinition.LinkWrapper> ResolveCase(Dictionary <string, string> values, CaseDefinition caseDef, string property, out bool breakValue)
        {
            List <LinkDefinition.LinkWrapper> ret = new List <LinkDefinition.LinkWrapper>();

            breakValue = caseDef.switchBreak;

            if (caseDef.value != null)
            {
                if (values.ContainsKey(property) && values[property] == caseDef.value)
                {
                    ret.AddRange(caseDef.linkList);
                }
                if (caseDef.value.Equals(NullConstant) && CheckNullConstant(values, property))
                {
                    ret.AddRange(caseDef.linkList);
                }
            }
            if (caseDef.contains != null)
            {
                if (values.ContainsKey(property) && values[property].Contains(caseDef.contains))
                {
                    ret.AddRange(caseDef.linkList);
                }
            }

            return(ret);
        }
コード例 #4
0
ファイル: ConditionalDefinition.cs プロジェクト: llebel/OCTGN
        internal List <LinkDefinition.LinkWrapper> IfContainsList(Dictionary <string, string> values, CaseDefinition caseDef, string property, string contains)
        {
            List <LinkDefinition.LinkWrapper> ret = new List <LinkDefinition.LinkWrapper>();

            if (values.ContainsKey(property) && values[property].Contains(contains))
            {
                ret = caseDef.linkList;
            }

            return(ret);
        }
コード例 #5
0
ファイル: ConditionalDefinition.cs プロジェクト: llebel/OCTGN
        internal List <LinkDefinition.LinkWrapper> IfValueList(Dictionary <string, string> values, CaseDefinition caseDef, string property, string value)
        {
            List <LinkDefinition.LinkWrapper> ret = new List <LinkDefinition.LinkWrapper>();

            if (values.ContainsKey(property) && values[property] == value)
            {
                return(caseDef.linkList);
            }
            if (value.Equals(NullConstant) && CheckNullConstant(values, property))
            {
                return(caseDef.linkList);
            }
            return(ret);
        }