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(); } } }