Files
2026-10-16 23:33:13 -07:00

35 lines
945 B
C#

using RadicadeServer.RecNet.Enums;
using RadicadeServer.RecNet.Events;
namespace RadicadeServer.API.Events
{
public static class PlayerEventQueries
{
public static List<PlayerEventDB> Search(IEnumerable<PlayerEventDB> 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<PlayerEventDB> InRoom(IEnumerable<PlayerEventDB> source, long roomId)
{
return source
.Where(x => x.RoomId == roomId)
.OrderByDescending(x => x.StartTime)
.ToList();
}
}
}