|
|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Runtime.CompilerServices;
|
|
|
|
|
using System.Text;
|
|
|
|
|
@ -13,6 +15,44 @@ namespace SmartAquaViewer.ViewModel
|
|
|
|
|
{
|
|
|
|
|
public class MonitoringViewModel : INotifyPropertyChanged
|
|
|
|
|
{
|
|
|
|
|
public delegate void SystemChangedEventHandler(string systemName);
|
|
|
|
|
public event SystemChangedEventHandler OnSystemChanged;
|
|
|
|
|
|
|
|
|
|
public ObservableCollection<string> GraphTypes { get; }
|
|
|
|
|
|
|
|
|
|
private string _selectedGraphType;
|
|
|
|
|
public string SelectedGraphType
|
|
|
|
|
{
|
|
|
|
|
get => _selectedGraphType;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if (_selectedGraphType != value)
|
|
|
|
|
{
|
|
|
|
|
_selectedGraphType = value;
|
|
|
|
|
OnPropertyChanged();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private string _currentSystem;
|
|
|
|
|
public string CurrentSystem
|
|
|
|
|
{
|
|
|
|
|
get => _currentSystem;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if (_currentSystem != value)
|
|
|
|
|
{
|
|
|
|
|
_currentSystem = value;
|
|
|
|
|
OnPropertyChanged();
|
|
|
|
|
|
|
|
|
|
Debug.WriteLine($"CurrentSyetem changed to: {_currentSystem}");
|
|
|
|
|
SetGraphType();
|
|
|
|
|
SelectedGraphType = GraphTypes.FirstOrDefault() ?? string.Empty;
|
|
|
|
|
OnSystemChanged?.Invoke(CurrentSystem);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool _isOpenMode;
|
|
|
|
|
public bool IsOpenMode
|
|
|
|
|
{
|
|
|
|
|
@ -65,9 +105,43 @@ namespace SmartAquaViewer.ViewModel
|
|
|
|
|
IsOpenMode = true;
|
|
|
|
|
BtnVisibilityUp = Visibility.Collapsed;
|
|
|
|
|
|
|
|
|
|
GraphTypes = new ObservableCollection<string>();
|
|
|
|
|
CurrentSystem = "Tank"; // Default system
|
|
|
|
|
SetGraphType();
|
|
|
|
|
|
|
|
|
|
ChangeDrawerStatusCommand = new RelayCommand(_ => IsOpenMode = !IsOpenMode);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetGraphType()
|
|
|
|
|
{
|
|
|
|
|
GraphTypes.Clear();
|
|
|
|
|
|
|
|
|
|
switch (CurrentSystem)
|
|
|
|
|
{
|
|
|
|
|
case "Tank":
|
|
|
|
|
GraphTypes.Add("LINE");
|
|
|
|
|
GraphTypes.Add("BOX");
|
|
|
|
|
GraphTypes.Add("SCATTER");
|
|
|
|
|
break;
|
|
|
|
|
case "Filter":
|
|
|
|
|
GraphTypes.Add("LINE");
|
|
|
|
|
GraphTypes.Add("STEP");
|
|
|
|
|
break;
|
|
|
|
|
case "Sterilizer":
|
|
|
|
|
GraphTypes.Add("LINE");
|
|
|
|
|
GraphTypes.Add("STEP");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string graphTypes = string.Empty;
|
|
|
|
|
foreach (string str in GraphTypes)
|
|
|
|
|
graphTypes += (str + ", ");
|
|
|
|
|
|
|
|
|
|
Debug.WriteLine(graphTypes);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public event PropertyChangedEventHandler? PropertyChanged;
|
|
|
|
|
private void OnPropertyChanged([CallerMemberName] string? name = null)
|
|
|
|
|
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
|
|
|
|