asked on
private SearchResponseData GetproductSearchResult(string searchText, string category = "")
{
//WILDCARD results if search term contains a Catalog Number
string pattern = @"(-[A-Za-z]*\d+[A-Za-z]*(-[A-Za-z]*\d+[A-Za-z]*)*)";
try
{
//Try strong Regex
string replacement = Regex.Replace(searchText, pattern, "$0*");
keywordSearchCriteria = new KeywordSearchCriteria { QueryText = replacement };
}
catch (Exception ex)
{
//If syntax error, try weaker Regex
if (Regex.IsMatch(searchText, "-(\\d)*"))
{
keywordSearchCriteria = new KeywordSearchCriteria { QueryText = searchText + "*" };
}
//Use search term as-is
else
{
keywordSearchCriteria = new KeywordSearchCriteria { QueryText = searchText };
}
}
}