using RadicadeServer.RecNet.Enums; using RadicadeServer.RecNet.Events; namespace RadicadeServer.API.Events { public static class PlayerEventQueries { public static List Search(IEnumerable source, string? term, DateTime now) { var results = source .Where(x => x.Accessibility == Accessibility.Public && x.EndTime > now) .OrderByDescending(x => x.StartTime) .ToList(); var trimmed = (term ?? string.Empty).Trim(); if (trimmed.Length == 0) return results; return results .Where(x => x.Name.Contains(trimmed, StringComparison.OrdinalIgnoreCase) || (x.Description ?? string.Empty).Contains(trimmed, StringComparison.OrdinalIgnoreCase)) .ToList(); } public static List InRoom(IEnumerable source, long roomId) { return source .Where(x => x.RoomId == roomId) .OrderByDescending(x => x.StartTime) .ToList(); } } }