aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs12
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs6
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs7
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs18
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Windows/ExceptionWindow.xaml2
8 files changed, 38 insertions, 12 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs
index a7596e16c..f94a6c9d9 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs
@@ -12,6 +12,8 @@ using Tango.BL.Entities;
using Tango.Logging;
using Tango.MachineStudio.UI.Windows;
using Tango.Settings;
+using Microsoft.Practices.ServiceLocation;
+using Tango.MachineStudio.Common.EventLogging;
namespace Tango.MachineStudio.UI
{
@@ -67,6 +69,16 @@ namespace Tango.MachineStudio.UI
}
catch { }
+ try
+ {
+ var eventLogger = ServiceLocator.Current.GetInstance<IEventLogger>();
+ if (eventLogger != null)
+ {
+ eventLogger.Log(e.Exception);
+ }
+ }
+ catch { }
+
Application.Current.Dispatcher.Invoke(() =>
{
ExceptionWindow exWin = new ExceptionWindow(e.Exception);
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
index 16526cee6..121d429ec 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
@@ -29,7 +29,6 @@ namespace Tango.MachineStudio.UI.Modules
private IAuthenticationProvider _authenticationProvider;
private bool _loaded;
public event EventHandler ModulesLoaded;
- private LogManager LogManager = LogManager.Default;
/// <summary>
/// Initializes a new instance of the <see cref="DefaultStudioModuleLoader"/> class.
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
index f48ddb0e2..b4b1c5153 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
@@ -31,7 +31,6 @@ namespace Tango.MachineStudio.UI.StudioApplication
private INavigationManager _navigationManager;
private IStudioModuleLoader _moduleLoader;
private List<Window> _openedWindows;
- private LogManager LogManager = LogManager.Default;
/// <summary>
/// Initializes a new instance of the <see cref="DefaultStudioApplicationManager" /> class.
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
index 675022276..571122eb5 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
@@ -6,6 +6,7 @@ using Tango.Integration.Services;
using Tango.Logging;
using Tango.MachineStudio.Common.Authentication;
using Tango.MachineStudio.Common.Diagnostics;
+using Tango.MachineStudio.Common.EventLogging;
using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
@@ -57,6 +58,7 @@ namespace Tango.MachineStudio.UI
SimpleIoc.Default.Unregister<ExternalBridgeScanner>();
SimpleIoc.Default.Unregister<IVideoCaptureProvider>();
SimpleIoc.Default.Unregister<IDiagnosticsFrameProvider>();
+ SimpleIoc.Default.Unregister<IEventLogger>();
SimpleIoc.Default.Register<INotificationProvider, DefaultNotificationProvider>();
SimpleIoc.Default.Register<IAuthenticationProvider, DefaultAuthenticationProvider>();
@@ -66,6 +68,7 @@ namespace Tango.MachineStudio.UI
SimpleIoc.Default.Register<ExternalBridgeScanner, ExternalBridgeScanner>();
SimpleIoc.Default.Register<IVideoCaptureProvider, DefaultVideoCaptureProvider>();
SimpleIoc.Default.Register<IDiagnosticsFrameProvider, DefaultDiagnosticsFrameProvider>();
+ SimpleIoc.Default.Register<IEventLogger, DefaultEventLogger>();
SimpleIoc.Default.Register<MainViewVM>();
SimpleIoc.Default.Register<LoadingViewVM>();
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
index 9ee8471ec..54b83a5cc 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
@@ -13,6 +13,7 @@ using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.SharedUI;
using Tango.BL;
+using Tango.MachineStudio.Common.EventLogging;
namespace Tango.MachineStudio.UI.ViewModels
{
@@ -25,6 +26,7 @@ namespace Tango.MachineStudio.UI.ViewModels
private INotificationProvider _notificationProvider;
private INavigationManager _navigationManager;
private IStudioModuleLoader _studioModuleLoader;
+ private IEventLogger _eventLogger;
private LogManager logManager = LogManager.Default;
public IStudioApplicationManager ApplicationManager { get; set; }
@@ -42,8 +44,9 @@ namespace Tango.MachineStudio.UI.ViewModels
/// <param name="navigationManager">The navigation manager.</param>
/// <param name="studioModuleLoader">The studio module loader.</param>
/// <param name="notificationProvider">The notification provider.</param>
- public LoadingViewVM(IStudioApplicationManager applicationManager, INavigationManager navigationManager, IStudioModuleLoader studioModuleLoader, INotificationProvider notificationProvider)
+ public LoadingViewVM(IStudioApplicationManager applicationManager, INavigationManager navigationManager, IStudioModuleLoader studioModuleLoader, INotificationProvider notificationProvider, IEventLogger eventLogger)
{
+ _eventLogger = eventLogger;
ApplicationManager = applicationManager;
_navigationManager = navigationManager;
_studioModuleLoader = studioModuleLoader;
@@ -67,6 +70,7 @@ namespace Tango.MachineStudio.UI.ViewModels
{
_studioModuleLoader.LoadModules();
_navigationManager.NavigateTo(NavigationView.LoginView);
+ _eventLogger.Log("Application started successfully");
IsLoading = false;
});
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
index c5936eea8..7fefe4a41 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
@@ -9,6 +9,7 @@ using System.Threading.Tasks;
using Tango.Core.Commands;
using Tango.Core.Cryptography;
using Tango.MachineStudio.Common.Authentication;
+using Tango.MachineStudio.Common.EventLogging;
using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
using Tango.Settings;
@@ -25,6 +26,7 @@ namespace Tango.MachineStudio.UI.ViewModels
private IAuthenticationProvider _authenticationProvider;
private INavigationManager _navigationManager;
private INotificationProvider _notificationProvider;
+ private IEventLogger _eventLogger;
private Rfc2898Cryptographer cryptographer;
private String _email;
@@ -60,11 +62,12 @@ namespace Tango.MachineStudio.UI.ViewModels
/// <param name="authenticationProvider">The authentication provider.</param>
/// <param name="navigationManager">The navigation manager.</param>
/// <param name="notificationProvider">The notification provider.</param>
- public LoginViewVM(IAuthenticationProvider authenticationProvider, INavigationManager navigationManager, INotificationProvider notificationProvider)
+ public LoginViewVM(IAuthenticationProvider authenticationProvider, INavigationManager navigationManager, INotificationProvider notificationProvider, IEventLogger eventLogger)
{
_notificationProvider = notificationProvider;
_navigationManager = navigationManager;
_authenticationProvider = authenticationProvider;
+ _eventLogger = eventLogger;
LoginCommand = new RelayCommand<String>(Login);
cryptographer = new Rfc2898Cryptographer();
@@ -89,6 +92,8 @@ namespace Tango.MachineStudio.UI.ViewModels
SettingsManager.Default.MachineStudio.LastLoginPassword = RememberMe ? cryptographer.Encrypt(password) : null;
SettingsManager.SaveDefaultSettings();
+
+ _eventLogger.Log("User logged in");
}
catch
{
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index 84c4e2dd3..ba94cd860 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -16,6 +16,7 @@ using Tango.Integration.Services;
using Tango.Logging;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Authentication;
+using Tango.MachineStudio.Common.EventLogging;
using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
@@ -43,7 +44,7 @@ namespace Tango.MachineStudio.UI.ViewModels
private INavigationManager _navigation;
private bool _isDisconnecting;
private Thread _updateCheckThread;
- private LogManager logManager = LogManager.Default;
+ private IEventLogger _eventLogger;
/// <summary>
/// Gets or sets the current loaded module.
@@ -201,8 +202,10 @@ namespace Tango.MachineStudio.UI.ViewModels
IStudioModuleLoader studioModuleLoader,
INotificationProvider notificationProvider,
IStudioApplicationManager applicationManager,
- INavigationManager navigationManager) : base(view)
+ INavigationManager navigationManager,
+ IEventLogger eventLogger) : base(view)
{
+ _eventLogger = eventLogger;
_navigation = navigationManager;
AuthenticationProvider = authenticationProvider;
StudioModuleLoader = studioModuleLoader;
@@ -250,7 +253,7 @@ namespace Tango.MachineStudio.UI.ViewModels
}
catch (Exception ex)
{
- logManager.Log(ex, "Error in version update periodic check...");
+ LogManager.Log(ex, "Error in version update periodic check...");
}
Thread.Sleep(TimeSpan.FromMinutes(4));
@@ -320,11 +323,12 @@ namespace Tango.MachineStudio.UI.ViewModels
else
{
ApplicationManager.ConnectedMachine = x.SelectedMachine;
+ _eventLogger.Log(String.Format("Successfully connected to machine {0} via TCP",x.SelectedMachine.SerialNumber));
}
}
catch (Exception ex)
{
- logManager.Log(ex);
+ LogManager.Log(ex);
_notificationProvider.ShowError(ex.Message);
}
@@ -345,13 +349,13 @@ namespace Tango.MachineStudio.UI.ViewModels
await x.SelectedMachine.Connect();
x.SelectedMachine.SerialNumber = vm.SelectedMachine.SerialNumber;
ApplicationManager.ConnectedMachine = x.SelectedMachine;
-
+ _eventLogger.Log(String.Format("Successfully connected to machine {0} via USB", x.SelectedMachine.SerialNumber));
SettingsManager.Default.MachineStudio.LastVirtualMachineSerialNumber = vm.SelectedMachine.SerialNumber;
SettingsManager.SaveDefaultSettings();
}
catch (Exception ex)
{
- logManager.Log(ex);
+ LogManager.Log(ex);
_notificationProvider.ShowError(ex.Message);
}
@@ -447,7 +451,7 @@ namespace Tango.MachineStudio.UI.ViewModels
}
catch (Exception ex)
{
- logManager.Log(ex, "Error popping out module " + module.Name);
+ LogManager.Log(ex, "Error popping out module " + module.Name);
_notificationProvider.ShowError("Error popping out module " + module.Name);
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Windows/ExceptionWindow.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Windows/ExceptionWindow.xaml
index c08a08842..892e4944f 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Windows/ExceptionWindow.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Windows/ExceptionWindow.xaml
@@ -43,7 +43,7 @@
</Grid>
<Grid Grid.Row="1" Margin="0 10 0 0">
- <TextBox Style="{x:Null}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" BorderBrush="#515151" IsReadOnly="True" AcceptsReturn="True" Foreground="#FF5C5C" Padding="2" TextWrapping="Wrap" Text="{Binding Exception}"></TextBox>
+ <TextBox Style="{x:Null}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" BorderBrush="#515151" IsReadOnly="True" AcceptsReturn="True" Foreground="#202020" Padding="2" TextWrapping="Wrap" Text="{Binding Exception}"></TextBox>
</Grid>
</Grid>