laatzen/Common/Ui/Common.UI/Infrastructure/TaskStateToBackgroundBrushConverter.cs
2024-11-13 15:50:04 +01:00

46 lines
1.8 KiB
C#

namespace Common.UI.Infrastructure
{
using Common.Hardware.SIRT;
using Common.Hardware.SIRT.Parameters;
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
internal class TaskStateToBackgroundBrushConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var converter = new BrushConverter();
var error = (SolidColorBrush)converter.ConvertFrom("#77FFA07A");
var success = (SolidColorBrush)converter.ConvertFrom("#7790EE90");
var info = (SolidColorBrush)converter.ConvertFrom("#77ADD8E6");
var brush = Brushes.White;
if (value is string label)
{
switch (label)
{
case nameof(SIRTMessage.BUP): brush = Brushes.WhiteSmoke; break;
case nameof(SIRTMessage.LAT): brush = Brushes.WhiteSmoke; break;
case nameof(SIRTMessage.DEBUG): brush = Brushes.LightBlue; break;
case nameof(PAMStatus.OK): brush = success; break;
case nameof(PAMStatus.CMD_UNKNOWN): brush = error; break;
case nameof(PAMStatus.EXPIRED_AUTH): brush = error; break;
case nameof(PAMStatus.MIXED_TYPES): brush = error; break;
case nameof(PAMStatus.OUT_OF_RANGE): brush = error; break;
case nameof(PAMStatus.WRONG_AUTH): brush = error; break;
}
}
return brush;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}