コード例 #1
0
ファイル: ConditionGenerator.cs プロジェクト: ChrisNice89/VBA
        public IConditionGroup AddConditionString(string conditionString)
        {
            if (string.IsNullOrEmpty(conditionString))
            {
                return(this);
            }

            var condition = new ConditionString(conditionString);

            Add(condition);
            return(this);
        }
コード例 #2
0
        /// <summary>
        /// Contition "IN". Add "{leftAlias}.{leftSide} IN (", join all parametersNames strings with separator as ",", and add "@" to each parameter with replace.
        /// With open brackets AND close brackets
        /// </summary>
        /// <param name="paramsIn"></param>
        public SQLCondition(string leftSide, string leftAlias, IEnumerable <string> parametersNames)
        {
            if (leftSide == null || parametersNames == null)
            {
                throw new CustomException_StringSQLBuilder("SQLCondition: A condition must have both left and right side string.");
            }

            string left = leftSide;

            if (!string.IsNullOrEmpty(leftAlias))
            {
                left = left.PutAhead(leftAlias, ".");
            }

            ConditionString = string.Join(",", parametersNames)
                              .PutAhead($"{left} IN (@")
                              .Append(") ");
            ConditionString = ConditionString.Replace(",", ",@");
        }
コード例 #3
0
     public Action this[ConditionString c]
     {
         get
         {
             Action val;
             if (!conditionDict.TryGetValue(c, out val))
             {
                 if (DefaultAction != null)
                 {
                     return(DefaultAction);
                 }
                 else
                 {
                     return delegate() { Debug.Log("Unimplemented combination: " + c); }
                 };
             }
             return(conditionDict[c]);
         }
         set
         {
             conditionDict[c] = value;
         }
     }
 }