Du hast auf den Branch log-test-branch 2026-04-12 20:57:35 +00:00 gepusht
Neuer Pull-Request
Du hast auf den Branch anon-test2 2026-04-12 20:50:35 +00:00 gepusht
Neuer Pull-Request
Dateien
Soft-LTS/Models/AggregatedPrinterState.cs
2026-04-12 17:22:31 +02:00

39 Zeilen
1.1 KiB
C#

using PrinterMonitor.Models;
namespace PrinterMonitor.Models;
/// <summary>
/// Berechnet den aggregierten (ODER-verknüpften) Druckerzustand
/// über alle überwachten Drucker hinweg.
/// </summary>
public static class AggregatedPrinterState
{
/// <summary>
/// Gibt einen <see cref="SimplePrinterState"/> zurück, dessen Felder
/// jeweils das logische ODER aller übergebenen Einzelzustände sind.
/// Gibt null zurück wenn keine Zustände übergeben wurden.
/// </summary>
public static SimplePrinterState? Aggregate(IEnumerable<SimplePrinterState> states)
{
SimplePrinterState? result = null;
foreach (var s in states)
{
if (result == null)
{
result = s;
continue;
}
result = new SimplePrinterState
{
LtsSensor = result.LtsSensor || s.LtsSensor,
Druckerklappe = result.Druckerklappe || s.Druckerklappe,
KeineEtiketten = result.KeineEtiketten || s.KeineEtiketten
};
}
return result;
}
}