AlarmLastConverter.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. namespace HistoryView.Converters;
  2. internal class IAlarmLastConverter : IValueConverter
  3. {
  4. public object? Convert(object value, Type targetType, object parameter, CultureInfo culture)
  5. {
  6. if (parameter is null)
  7. return default;
  8. if (value is not IEnumerable<AlarmInfo> enums)
  9. return default;
  10. AlarmInfo? alarm = enums.LastOrDefault();
  11. if (alarm is null)
  12. return default;
  13. return parameter switch
  14. {
  15. "ChannelName" => alarm.ChannelName,
  16. "AlarmChannel" => alarm.AlarmChannel,
  17. "AlarmMini8" => alarm.AlarmMini8,
  18. "AlarmLevel" => alarm.AlarmLevel,
  19. "AlarmDetail" => alarm.AlarmDetail,
  20. "Date" => alarm.EventTime.ToString("yyyy-MM-dd"),
  21. "Time" => alarm.EventTime.ToString("HH:mm:ss"),
  22. _ => default
  23. };
  24. }
  25. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  26. {
  27. throw new NotImplementedException();
  28. }
  29. }