Thor/Thor.Shared/RegisterBase.cs
2025-03-21 07:19:48 +01:00

38 lines
792 B
C#

namespace Thor.Shared;
public abstract class RegisterBase<EntryType, ResultType>
where EntryType : EntryBase
where ResultType : class
{
protected List<EntryType> Entries { get; } = [];
public void Add(EntryType entry)
{
Entries.Add(entry);
}
public void Clear()
{
Entries.Clear();
}
public List<EntryType> GetEntriesOrdered(string itemid)
{
var entries = Entries
.Where(e => e.Target == itemid)
.ToList();
entries.Sort((a, b) => a.When.CompareTo(b.When));
return entries;
}
public List<EntryType> GetEntriesOrdered()
{
var entries = Entries
.ToList();
entries.Sort((a, b) => a.When.CompareTo(b.When));
return entries;
}
}