private string PreparePattern(string patternValue, bool insertPercentAtStart, bool insertPercentAtEnd, out bool specifyEscape)
{
// Dev10 #800466: The pattern value if originating from a parameter value could be null
if (patternValue == null)
{
specifyEscape = false;
return null;
}
var escapedPatternValue = ProviderManifest.EscapeLikeArgument(patternValue);
if (escapedPatternValue == null)
{
throw new ProviderIncompatibleException(Strings.ProviderEscapeLikeArgumentReturnedNull);
}
specifyEscape = patternValue != escapedPatternValue;
var patternBuilder = new StringBuilder();
if (insertPercentAtStart)
{
patternBuilder.Append("%");
}
patternBuilder.Append(escapedPatternValue);
if (insertPercentAtEnd)
{
patternBuilder.Append("%");
}
return patternBuilder.ToString();
}