コード例 #1
0
        private string ApplyActionsToWholeField(ScrubfuTag action, string columnValue)
        {
            if (action.Tag is RandomTag)
            {
                if (columnValue.IsWrappedByString("'"))
                {
                    columnValue = ((RandomTagOptions)action.Tag.Options).Pattern.WrapWithString("'");
                }
                else
                {
                    columnValue = ((RandomTagOptions)action.Tag.Options).Pattern;
                }
            }

            return(action.Tag.Apply(columnValue, action.Tag.GetOptions()));
        }
コード例 #2
0
        private string ApplyActionsToArray(ScrubfuTag action, string columnValue, string sqlCommand)
        {
            string[] arrayValues;
            if (columnValue.StartsWith("'{", StringComparison.Ordinal) && columnValue.EndsWith("}'", StringComparison.Ordinal))
            {
                arrayValues = columnValue.Substring(2, columnValue.Length - 4).Split(",");
            }
            else if (columnValue.StartsWith("{", StringComparison.Ordinal) && columnValue.EndsWith("}", StringComparison.Ordinal))
            {
                arrayValues = columnValue.Substring(1, columnValue.Length - 2).Split(",");
            }
            else
            {
                return(columnValue);
            }

            // Process each array item, or just the specified one)
            int lowerBound = 0;
            int upperBound = arrayValues.Length - 1;

            if (action.Tag.ColumnArrayIndex.HasValue && action.Tag.ColumnArrayIndex.Value > 0)
            {
                lowerBound = upperBound = action.Tag.ColumnArrayIndex.Value;
            }

            for (int i = lowerBound; i <= upperBound; i++)
            {
                arrayValues[i] = ApplyActionsToSpecificArrayElement(action, arrayValues[i]);
            }

            if (sqlCommand == Constants.SqlCommand_INSERT_INTO)     // Insert into's require single quotes
            {
                return(string.Concat(new string[] { "'{", string.Join(",", arrayValues), "}'" }));
            }
            else
            {
                return(string.Concat(new string[] { "{", string.Join(",", arrayValues), "}" }));
            }
        }
コード例 #3
0
        private string ApplyActionsToSpecificArrayElement(ScrubfuTag action, string arrayItemValue)
        {
            if (action.Tag is RandomTag)
            {
                if (arrayItemValue.IsWrappedByString("\""))
                {
                    arrayItemValue = ((RandomTagOptions)action.Tag.Options).Pattern.WrapWithString("\"");
                }
                else
                {
                    arrayItemValue = ((RandomTagOptions)action.Tag.Options).Pattern;
                }
            }

            if (arrayItemValue.IsWrappedByString("\""))
            {
                arrayItemValue = arrayItemValue.Substring(1, arrayItemValue.Length - 2);
                return(action.Tag.Apply(arrayItemValue, action.Tag.GetOptions()).WrapWithString("\""));
            }
            else
            {
                return(action.Tag.Apply(arrayItemValue, action.Tag.GetOptions()));
            }
        }