laatzen/Common/Ui/Common.UI/Infrastructure/TaskStateToBackgroundBrushConverter.cs
2025-06-11 09:29:41 +02:00

50 lines
2.0 KiB
C#

namespace Common.UI.Infrastructure
{
using Common.Hardware.SIRT;
using Common.Hardware.SIRT.Parameters;
using Common.Hardware.SIRT.Tasks;
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("#22FFA07A");
var success = (SolidColorBrush)converter.ConvertFrom("#2290EE90");
var info = (SolidColorBrush)converter.ConvertFrom("#22ADD8E6");
var warning = (SolidColorBrush)converter.ConvertFrom("#22F5EF42");
var brush = Brushes.White;
if (value is string label)
{
switch (label)
{
case nameof(SIRTTaskState.Pending):; break;
case nameof(SIRTTaskState.Completed): brush = success; break;
case nameof(SIRTTaskState.Cancelled): brush = error; break;
case nameof(SIRTTaskState.Running): brush = warning; break;
case nameof(SIRTConstants.BUP): brush = warning; break;
case nameof(SIRTConstants.LAT): brush = warning; break;
case nameof(SIRTConstants.DEBUG): brush = info; break;
case nameof(SIRTConstants.SEMI): brush = success; break;
case nameof(PAMStatus.OK): brush = success; break;
case "AKN": brush = warning; break;
default: brush = error; break;
}
}
return brush;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}