123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
-
- namespace HistoryView.ViewModels.Regions;
- public partial class AlarmViewModel : ObservableObject
- {
- public AlarmViewModel(MessageBoxHelper messageBox, UserInformation user, Alarms alarms, Hardwares hardwares, HistoryViewer historyViewer)
- {
- this._messageBox = messageBox;
- this.NoAlarm = alarms.DisplayAlarm.Count switch
- {
- 0 => Visibility.Visible,
- _ => Visibility.Collapsed
- };
- alarms.DisplayAlarm.PropertyChanged += DisplayAlarm_PropertyChanged;
- this.Alarms = alarms;
- this.Hardwares = hardwares;
- this.UserInfo = user;
- this._history = historyViewer;
- }
- private void DisplayAlarm_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
- {
- this.Alarms.DisplayAlarm.CollectionChanged += DisplayAlarm_CollectionChanged;
- }
- private void DisplayAlarm_CollectionChanged(object? sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
- {
- this.NoAlarm = this.Alarms.DisplayAlarm.Count switch
- {
- 0 => Visibility.Visible,
- _ => Visibility.Collapsed
- };
- }
- private readonly HistoryViewer _history;
- private readonly MessageBoxHelper _messageBox;
- [ObservableProperty]
- private Hardwares _Hardwares;
- [ObservableProperty]
- private Alarms _Alarms;
- [ObservableProperty]
- private Visibility _NoAlarm;
- [ObservableProperty]
- ObservableCollection<AlarmInfo>? _DisplayHistoryAlarms;
- [ObservableProperty]
- private Mini8Info? _SelectedMini8;
- partial void OnSelectedMini8Changed(Mini8Info? value)
- {
- this.Mini8Channels ??= [];
- this.Mini8Channels.Clear();
- if (value is null)
- return;
- //this.Mini8Channels.AddRange(this.Hardwares.Mini8Channels.Where(t => t.Key == value.Index).FirstOrDefault().Value);
- }
- [ObservableProperty]
- public ObservableCollection<Channel>? _Mini8Channels;
- [ObservableProperty]
- private Channel? _SelectedChannel;
- [ObservableProperty]
- private UserInformation? _UserInfo;
- [RelayCommand]
- private void Filter()
- {
- if (this.Alarms.HistoryAlarms is null)
- return;
- this.DisplayHistoryAlarms ??= [];
- this.DisplayHistoryAlarms.Clear();
- List<AlarmInfo> alarms = [];
- alarms.AddRange(this.Alarms.HistoryAlarms);
- if (this.SelectedMini8 is not null)
- alarms = [.. alarms.Where(t => t.Mini8Index == this.SelectedMini8.Index)];
- if (this.SelectedChannel is not null)
- alarms = [.. alarms.Where(t => t.ChannelIndex == this.SelectedChannel.ChannelIndex)];
- this.DisplayHistoryAlarms.AddRange(alarms);
- }
- [RelayCommand]
- private void History()
- {
- this._history.StartAlarmHistroy();
- }
- [RelayCommand]
- private void ClearFilter()
- {
- this.SelectedMini8 = null;
- this.SelectedChannel = null;
- this.DisplayHistoryAlarms ??= [];
- this.DisplayHistoryAlarms.Clear();
- //this.DisplayHistoryAlarms.AddRange(this.Alarms.HistoryAlarms);
- }
- [RelayCommand]
- private void Clear()
- {
- IDialogResult result = this._messageBox.ShowAsync((string)App.Current.Resources["ConfirmClearAllAlarm"], MessageBoxButton.YesNo, MessageBoxImage.Question).Result;
- if (result.Result != ButtonResult.Yes)
- return;
- this.Alarms.DisplayAlarm?.Clear();
- }
- [RelayCommand]
- private void ClearSingle(AlarmInfo alarmInfo)
- {
- if (alarmInfo is null)
- return;
- if (this.Alarms.DisplayAlarm is null)
- return;
- if (!this.Alarms.DisplayAlarm.ContainsKey(alarmInfo.Mini8Index))
- return;
- IDialogResult result = this._messageBox.ShowAsync((string)App.Current.Resources["ConfirmClearThisAlarm"], MessageBoxButton.YesNo, MessageBoxImage.Question).Result;
- if (result.Result != ButtonResult.Yes)
- return;
- this.Alarms.DisplayAlarm.Remove(alarmInfo.Mini8Index);
- }
- }
|