aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-26 14:21:53 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-26 14:21:53 +0300
commit1061758f95b7ba633e6bcc2c3556b42f033b1a79 (patch)
treec3cf106aa6b73fe1e0bfcd6b88399a5721990eb0 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels
parent761686de34252d76bda126c738d82c021ef6bf5d (diff)
downloadTango-1061758f95b7ba633e6bcc2c3556b42f033b1a79.tar.gz
Tango-1061758f95b7ba633e6bcc2c3556b42f033b1a79.zip
Working on logging module !
Modified PID Control Table.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/MainViewVM.cs39
1 files changed, 34 insertions, 5 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/MainViewVM.cs
index 94765ccdb..2b773c1c2 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/MainViewVM.cs
@@ -1,12 +1,16 @@
-using System;
+using GalaSoft.MvvmLight.Messaging;
+using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.BL;
using Tango.BL.Entities;
using Tango.MachineStudio.Common.EventLogging;
+using Tango.MachineStudio.Common.Messages;
using Tango.MachineStudio.Common.Notifications;
+using Tango.MachineStudio.Common.StudioApplication;
using Tango.SharedUI;
namespace Tango.MachineStudio.Logging.ViewModels
@@ -14,9 +18,11 @@ namespace Tango.MachineStudio.Logging.ViewModels
public class MainViewVM : ViewModel
{
private INotificationProvider _notification;
+ private IStudioApplicationManager _application;
private IEventLogger _eventLogger;
private DateVM _realTimeDate;
private ObservableCollection<MachinesEvent> _realTimeEvents;
+ private Machine _connectedMachine;
private Machine _selectedMachine;
public Machine SelectedMachine
@@ -53,18 +59,37 @@ namespace Tango.MachineStudio.Logging.ViewModels
set { _selectedDate = value; RaisePropertyChangedAuto(); OnSelectedDateChanged(); }
}
- public MainViewVM(INotificationProvider notification, IEventLogger eventLogger)
+ public MainViewVM(INotificationProvider notification, IEventLogger eventLogger, IStudioApplicationManager application)
{
+ _application = application;
_notification = notification;
_eventLogger = eventLogger;
_realTimeDate = new DateVM(DateTime.Now) { Description = "Real Time" };
_realTimeEvents = new ObservableCollection<MachinesEvent>();
_eventLogger.NewLog += _eventLogger_NewLog;
+
+ RegisterMessage<MachineConnectionChangedMessage>(OnMachineConnectionChanged);
+ }
+
+ private void OnMachineConnectionChanged(MachineConnectionChangedMessage msg)
+ {
+ if (msg.Machine != null)
+ {
+ _connectedMachine = ObservablesEntitiesAdapter.Instance.Machines.SingleOrDefault(x => x.SerialNumber == msg.Machine.SerialNumber);
+ SelectedMachine = _connectedMachine;
+ }
+ else
+ {
+ _connectedMachine = null;
+ }
}
private void _eventLogger_NewLog(object sender, MachinesEvent machineEvent)
{
- _realTimeEvents.Add(machineEvent);
+ InvokeUI(() =>
+ {
+ _realTimeEvents.Add(machineEvent);
+ });
}
private void OnSelectedMachineChanged()
@@ -72,14 +97,18 @@ namespace Tango.MachineStudio.Logging.ViewModels
if (SelectedMachine != null)
{
Dates = new ObservableCollection<DateVM>();
- Dates.Add(_realTimeDate);
+
+ if (SelectedMachine == _connectedMachine)
+ {
+ Dates.Add(_realTimeDate);
+ }
foreach (var day in SelectedMachine.MachinesEvents.GroupBy(x => x.DateTime.DayOfYear).Select(x => x.First().DateTime).OrderByDescending(x => x))
{
Dates.Add(new DateVM(day));
}
- SelectedDate = Dates.First();
+ SelectedDate = Dates.FirstOrDefault();
}
}