namespace Sonex.Worker.WebSync; internal sealed class WebSyncCollectionSnapshot { public HashSet TrendingArticleNumbers { get; } = new(StringComparer.OrdinalIgnoreCase); public HashSet NieuwArticleNumbers { get; } = new(StringComparer.OrdinalIgnoreCase); public HashSet ActiesArticleNumbers { get; } = new(StringComparer.OrdinalIgnoreCase); public bool IsTrending(string articleNumber) { return Contains(TrendingArticleNumbers, articleNumber); } public bool IsNieuw(string articleNumber) { return Contains(NieuwArticleNumbers, articleNumber); } public bool IsActies(string articleNumber) { return Contains(ActiesArticleNumbers, articleNumber); } private static bool Contains(HashSet source, string articleNumber) { if (string.IsNullOrWhiteSpace(articleNumber)) return false; return source.Contains(articleNumber.Trim()); } }