|
|
|
@ -12,7 +12,9 @@ using System.Windows.Media;
|
|
|
|
using System.Windows.Media.Imaging;
|
|
|
|
using System.Windows.Media.Imaging;
|
|
|
|
using System.Windows.Navigation;
|
|
|
|
using System.Windows.Navigation;
|
|
|
|
using System.Windows.Shapes;
|
|
|
|
using System.Windows.Shapes;
|
|
|
|
|
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
using SmartAquaViewer.Classes;
|
|
|
|
using SmartAquaViewer.Classes;
|
|
|
|
|
|
|
|
using SmartAquaViewer.DataAnalysis;
|
|
|
|
using SmartAquaViewer.Model;
|
|
|
|
using SmartAquaViewer.Model;
|
|
|
|
using SmartAquaViewer.ViewModel;
|
|
|
|
using SmartAquaViewer.ViewModel;
|
|
|
|
using static SmartAquaViewer.Model.Enums;
|
|
|
|
using static SmartAquaViewer.Model.Enums;
|
|
|
|
@ -29,6 +31,12 @@ namespace SmartAquaViewer.View
|
|
|
|
public MonitoringView()
|
|
|
|
public MonitoringView()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
InitializeComponent();
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Loaded += MonitoringView_Loaded;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void MonitoringView_Loaded(object sender, RoutedEventArgs e)
|
|
|
|
|
|
|
|
{
|
|
|
|
monitoringViewModel = this.DataContext as MonitoringViewModel;
|
|
|
|
monitoringViewModel = this.DataContext as MonitoringViewModel;
|
|
|
|
monitoringViewModel.OnSystemChanged += MonitoringViewModel_OnSystemChanged;
|
|
|
|
monitoringViewModel.OnSystemChanged += MonitoringViewModel_OnSystemChanged;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -38,7 +46,7 @@ namespace SmartAquaViewer.View
|
|
|
|
switch (systemName)
|
|
|
|
switch (systemName)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case "Tank":
|
|
|
|
case "Tank":
|
|
|
|
|
|
|
|
//SetTankData();
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case "Filter":
|
|
|
|
case "Filter":
|
|
|
|
|
|
|
|
|
|
|
|
@ -52,28 +60,28 @@ namespace SmartAquaViewer.View
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void GetTankData()
|
|
|
|
private void SetTankData()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//var waterTanksGroup = Datas.GetWaterQualityVO().GroupBy(w => w.WaterTank.WaterTankNum);
|
|
|
|
var waterTanksGroup = Datas.GetWaterQualityVO().GroupBy(w => w.Tank.Number);
|
|
|
|
|
|
|
|
|
|
|
|
//foreach (var group in waterTanksGroup)
|
|
|
|
foreach (var group in waterTanksGroup)
|
|
|
|
//{
|
|
|
|
{
|
|
|
|
// DataGrid dataGrid = new DataGrid();
|
|
|
|
DataGrid dataGrid = new DataGrid();
|
|
|
|
|
|
|
|
|
|
|
|
// group.ToList()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// DataGridAutoBuilder.BuildColumnsFromType(dataGrid, group, new Dictionary<string, string>
|
|
|
|
var waterQualityList = group.ToList();
|
|
|
|
// {
|
|
|
|
|
|
|
|
// { nameof(DataAnalisys.WaterQualityVO.Timestamp), "시간" },
|
|
|
|
|
|
|
|
// { nameof(DataAnalisys.WaterTank.DO), "DO센서 (mg/L)" },
|
|
|
|
|
|
|
|
// { nameof(DataAnalisys.WaterTank.PH), "pH센서" },
|
|
|
|
|
|
|
|
// { nameof(DataAnalisys.WaterTank.ORP), "ORP센서 (mV)" },
|
|
|
|
|
|
|
|
// { nameof(DataAnalisys.WaterTank.Temperature), "수온 (°C)" },
|
|
|
|
|
|
|
|
// { nameof(DataAnalisys.WaterTank.FlowRate), "유량 (m³/s)"}
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DataGridAutoBuilder.BuildColumnsFromType(dataGrid, waterQualityList, new Dictionary<string, string>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
{ nameof(WaterQualityVO.RecordedTime), "시간" },
|
|
|
|
|
|
|
|
{ nameof(WaterQualityVO.Tank.DOValue), "DO센서 (mg/L)" },
|
|
|
|
|
|
|
|
{ nameof(WaterQualityVO.Tank.PH), "pH센서" },
|
|
|
|
|
|
|
|
{ nameof(WaterQualityVO.Tank.ORP), "ORP센서 (mV)" },
|
|
|
|
|
|
|
|
{ nameof(WaterQualityVO.Tank.Temperature), "수온 (°C)" },
|
|
|
|
|
|
|
|
{ nameof(WaterQualityVO.Tank.FlowRate), "유량 (m³/s)"}
|
|
|
|
|
|
|
|
}, "HH:mm:ss");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//spDataGrid.Children.Add(dataGrid);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|