|
|
|
@ -32,7 +32,7 @@ namespace SmartAquaViewer.ViewModel
|
|
|
|
|
|
|
|
|
|
|
|
public ObservableCollection<GraphType> GraphTypes { get; }
|
|
|
|
public ObservableCollection<GraphType> GraphTypes { get; }
|
|
|
|
|
|
|
|
|
|
|
|
public List<WaterQualityVO> WaterQualityList { get; }
|
|
|
|
public ReadOnlyObservableCollection<WaterQualityVO> WaterQualityList { get; }
|
|
|
|
public Dictionary<int, ObservableCollection<WaterQualityVO>> TankGroups { get; }
|
|
|
|
public Dictionary<int, ObservableCollection<WaterQualityVO>> TankGroups { get; }
|
|
|
|
|
|
|
|
|
|
|
|
private MonitorTab _selectedTab;
|
|
|
|
private MonitorTab _selectedTab;
|
|
|
|
@ -242,8 +242,9 @@ namespace SmartAquaViewer.ViewModel
|
|
|
|
IsOpenMode = true;
|
|
|
|
IsOpenMode = true;
|
|
|
|
BtnVisibilityUp = Visibility.Collapsed;
|
|
|
|
BtnVisibilityUp = Visibility.Collapsed;
|
|
|
|
|
|
|
|
|
|
|
|
WaterQualityList = WaterQualityVO.GetSampleData(new DateTime(2025, 8, 1), new DateTime(2025, 8, 1), 10);
|
|
|
|
//WaterQualityList = WaterQualityVO.GetSampleData(new DateTime(2025, 8, 1), new DateTime(2025, 8, 1), 10);
|
|
|
|
Datas.SetWaterQualityVO(WaterQualityList);
|
|
|
|
//Datas.Instance.SetWaterQualityVO(WaterQualityList);
|
|
|
|
|
|
|
|
WaterQualityList = Datas.Instance.WaterQualityView;
|
|
|
|
|
|
|
|
|
|
|
|
TankGroups = WaterQualityList
|
|
|
|
TankGroups = WaterQualityList
|
|
|
|
.GroupBy(x => x.Tank.Number) // 또는 x.Tank.Num
|
|
|
|
.GroupBy(x => x.Tank.Number) // 또는 x.Tank.Num
|
|
|
|
@ -274,21 +275,21 @@ namespace SmartAquaViewer.ViewModel
|
|
|
|
var yField = SelectedYField;
|
|
|
|
var yField = SelectedYField;
|
|
|
|
var isMarker = ShowMarkers;
|
|
|
|
var isMarker = ShowMarkers;
|
|
|
|
if (SelectedTab.Equals(MonitorTab.Tank)) SetGraphData_Line_Tank(xField, yField, isMarker);
|
|
|
|
if (SelectedTab.Equals(MonitorTab.Tank)) SetGraphData_Line_Tank(xField, yField, isMarker);
|
|
|
|
else GraphControlVM.SetDefaultLineGraph(WaterQualityList, SelectedTab, xField, yField, isMarker);
|
|
|
|
else GraphControlVM.SetDefaultLineGraph(WaterQualityList.ToList(), SelectedTab, xField, yField, isMarker);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case GraphType.BOX:
|
|
|
|
case GraphType.BOX:
|
|
|
|
var xFieldBox = SelectedXField;
|
|
|
|
var xFieldBox = SelectedXField;
|
|
|
|
var dataFieldBox = SelectedYField;
|
|
|
|
var dataFieldBox = SelectedYField;
|
|
|
|
var boxWidth = BoxWidth;
|
|
|
|
var boxWidth = BoxWidth;
|
|
|
|
var boxTimeSpan = TimeSpan.FromHours(BoxTimeSpan);
|
|
|
|
var boxTimeSpan = TimeSpan.FromHours(BoxTimeSpan);
|
|
|
|
GraphControlVM.SetBoxPlot(WaterQualityList, xFieldBox, dataFieldBox, boxWidth, boxTimeSpan);
|
|
|
|
GraphControlVM.SetBoxPlot(WaterQualityList.ToList(), xFieldBox, dataFieldBox, boxWidth, boxTimeSpan);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case GraphType.SCATTER:
|
|
|
|
case GraphType.SCATTER:
|
|
|
|
var xFieldScatter = SelectedXField;
|
|
|
|
var xFieldScatter = SelectedXField;
|
|
|
|
var yFiledScatter = SelectedYField;
|
|
|
|
var yFiledScatter = SelectedYField;
|
|
|
|
var markerSIze = ScatterMarkerSize;
|
|
|
|
var markerSIze = ScatterMarkerSize;
|
|
|
|
var showRegression = ShowRegression;
|
|
|
|
var showRegression = ShowRegression;
|
|
|
|
GraphControlVM.SetScatterPlot(WaterQualityList, xFieldScatter, yFiledScatter, markerSIze, showRegression);
|
|
|
|
GraphControlVM.SetScatterPlot(WaterQualityList.ToList(), xFieldScatter, yFiledScatter, markerSIze, showRegression);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case GraphType.STEP:
|
|
|
|
case GraphType.STEP:
|
|
|
|
var xFieldStep = SelectedXField?.Name == "RecordedTime" ? SelectedXField : null;
|
|
|
|
var xFieldStep = SelectedXField?.Name == "RecordedTime" ? SelectedXField : null;
|
|
|
|
@ -296,9 +297,9 @@ namespace SmartAquaViewer.ViewModel
|
|
|
|
var yFiledStep = SelectedYField;
|
|
|
|
var yFiledStep = SelectedYField;
|
|
|
|
var showMarkerStep = ShowMarkers;
|
|
|
|
var showMarkerStep = ShowMarkers;
|
|
|
|
if (SelectedKind.Equals(StepFieldKind.Status))
|
|
|
|
if (SelectedKind.Equals(StepFieldKind.Status))
|
|
|
|
GraphControlVM.SetStatusSeriesStopPlot(WaterQualityList, yFiledStep, showMarkerStep);
|
|
|
|
GraphControlVM.SetStatusSeriesStopPlot(WaterQualityList.ToList(), yFiledStep, showMarkerStep);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
GraphControlVM.SetStepPlot(WaterQualityList, SelectedTab, xFieldStep, tFieldsStep, showMarkerStep);
|
|
|
|
GraphControlVM.SetStepPlot(WaterQualityList.ToList(), SelectedTab, xFieldStep, tFieldsStep, showMarkerStep);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|