You can replace:
if (keywords.Count == 1)
{
Results = Results.Where(x => x.DB_Auction.Description.Contains(keywords[0]));
}
else if (keywords.Count > 1)
{
Results = Results.Where(x => x.DB_Auction.Description.Contains(keywords[0]));
foreach (string keyword in keywords)
{
Results = Results.Where(x => x.DB_Auction.Description.Contains(keyword));
}
}
by
Results = Results.Where(x => keywords.Any(y=>x.DB_Auction.Description.Contains(y)));
So, eventually you may want to add this in you LINQ expression:
where keywords.Any(x=>a.Description.Contains(x))