aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 16:21:23 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 16:21:23 +0300
commit9e7f301df8d5114249d74aaceddff801170d3e44 (patch)
treec7e2fd85b8163594b01de503f8e57b4469333c1c /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging
parentf0588aa546e9497b0f6def56e8b3b1756d30fbfb (diff)
downloadTango-9e7f301df8d5114249d74aaceddff801170d3e44.tar.gz
Tango-9e7f301df8d5114249d74aaceddff801170d3e44.zip
Logging module working OK.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs75
1 files changed, 40 insertions, 35 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs
index f9d803aed..20eba4b8e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs
@@ -14,6 +14,7 @@ using Tango.MachineStudio.Common.StudioApplication;
using Tango.MachineStudio.Logging.Navigation;
using Tango.MachineStudio.Logging.Views;
using Tango.SharedUI;
+using System.Data.Entity;
namespace Tango.MachineStudio.Logging.ViewModels
{
@@ -23,15 +24,22 @@ namespace Tango.MachineStudio.Logging.ViewModels
private IStudioApplicationManager _application;
private IEventLogger _eventLogger;
private ObservableCollection<MachinesEvent> _realTimeEvents;
- private Machine _connectedMachine;
private LoggingNavigationManager _navigation;
private bool _dialog_shown;
+ private ObservablesContext _db;
+ private List<MachinesEvent> _history_events;
private Machine _selectedMachine;
public Machine SelectedMachine
{
get { return _selectedMachine; }
- set { _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged(); }
+ set
+ {
+ if (_selectedMachine != value)
+ {
+ _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged();
+ }
+ }
}
private ObservableCollection<MachinesEvent> _events;
@@ -76,7 +84,6 @@ namespace Tango.MachineStudio.Logging.ViewModels
set { _maxDate = value; RaisePropertyChangedAuto(); }
}
-
private bool _isRealTime;
public bool IsRealTime
{
@@ -109,25 +116,11 @@ namespace Tango.MachineStudio.Logging.ViewModels
_realTimeEvents = new ObservableCollection<MachinesEvent>();
_eventLogger.NewLog += _eventLogger_NewLog;
- RegisterMessage<MachineConnectionChangedMessage>(OnMachineConnectionChanged);
DisplayTimelineCommand = new RelayCommand<MachinesEvent>(DisplayTimeline);
NavigateToEventsCommand = new RelayCommand(() => _navigation.NavigateTo(LoggingNavigationView.EventsView));
NavigateToHomeCommand = new RelayCommand(() => _navigation.NavigateTo(LoggingNavigationView.HomeView));
}
- private void OnMachineConnectionChanged(MachineConnectionChangedMessage msg)
- {
- if (msg.Machine != null)
- {
- _connectedMachine = ObservablesStaticCollections.Instance.Machines.SingleOrDefault(x => x.SerialNumber == msg.Machine.SerialNumber);
- SelectedMachine = _connectedMachine;
- }
- else
- {
- _connectedMachine = null;
- }
- }
-
private void _eventLogger_NewLog(object sender, MachinesEvent machineEvent)
{
InvokeUI(() =>
@@ -136,29 +129,41 @@ namespace Tango.MachineStudio.Logging.ViewModels
});
}
- private void OnSelectedMachineChanged()
+ private async void OnSelectedMachineChanged()
{
if (SelectedMachine != null)
{
- Dates = new ObservableCollection<DateTime>();
-
- if (SelectedMachine == _connectedMachine)
+ using (_notification.PushTaskItem("Loading machine events..."))
{
- IsRealTime = true;
- }
+ await Task.Factory.StartNew(() =>
+ {
+ _db = ObservablesContext.CreateDefault();
+ _db.Configuration.LazyLoadingEnabled = false;
- foreach (var day in SelectedMachine.MachinesEvents.GroupBy(x => x.DateTime.DayOfYear).Select(x => x.First().DateTime).OrderByDescending(x => x))
- {
- Dates.Add(day);
- }
+ _db.EventTypes.Load();
+ _db.EventTypesCategories.Load();
+ _db.EventTypesGroups.Load();
- if (Dates.Count > 0)
- {
- MinDate = Dates.Min();
- MaxDate = Dates.Max();
- }
+ DateTime now = DateTime.UtcNow.AddMonths(-1);
- SelectedDate = Dates.FirstOrDefault();
+ _history_events = _db.MachinesEvents.Where(x => x.MachineGuid == SelectedMachine.Guid && x.DateTime > now).ToList();
+
+ Dates = new ObservableCollection<DateTime>();
+
+ foreach (var day in _history_events.GroupBy(x => x.DateTime.DayOfYear).Select(x => x.First().DateTime).OrderByDescending(x => x))
+ {
+ Dates.Add(day);
+ }
+
+ if (Dates.Count > 0)
+ {
+ MinDate = Dates.Min();
+ MaxDate = Dates.Max();
+ }
+
+ SelectedDate = Dates.FirstOrDefault();
+ });
+ }
}
}
@@ -170,9 +175,9 @@ namespace Tango.MachineStudio.Logging.ViewModels
{
Events = _realTimeEvents;
}
- else
+ else if (_history_events != null)
{
- Events = SelectedMachine.MachinesEvents.Where(x => x.DateTime.DayOfYear == SelectedDate.Date.DayOfYear).OrderByDescending(x => x.DateTime).ToObservableCollection();
+ Events = _history_events.Where(x => x.DateTime.DayOfYear == SelectedDate.Date.DayOfYear).OrderByDescending(x => x.DateTime).ToObservableCollection();
}
}
}