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())); }
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), "}" })); } }
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())); } }