mirror of
https://github.com/JogmansonReal/Radicade.git
synced 2026-10-25 15:09:26 -07:00
35 lines
945 B
C#
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();
|
|
}
|
|
}
|
|
}
|