aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-02-07 14:53:58 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-02-07 14:53:58 +0200
commitbd63d7d2f7769e5534fb9a58d97358564c2cb674 (patch)
treed4c990b02d5b0678e8133a73b30f474dd1b3b428 /Software/Visual_Studio/MachineStudio/Modules
parent6e082b1d9d7b4c5888e7e7345e148eb944b8c624 (diff)
downloadTango-bd63d7d2f7769e5534fb9a58d97358564c2cb674.tar.gz
Tango-bd63d7d2f7769e5534fb9a58d97358564c2cb674.zip
Implemented progress text on DB Comparers instead of custom logger.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs20
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs61
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs18
4 files changed, 57 insertions, 61 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs
index d7dac7fbe..070beefa6 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs
@@ -1,4 +1,5 @@
using Google.Protobuf;
+using Microsoft.Practices.ServiceLocation;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@@ -35,6 +36,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
private LocalDBComparer _comparer;
private INotificationProvider _notification;
private String _comparedSerialNumber;
+ private MainViewVM _mainView;
#region Constructors
@@ -160,6 +162,21 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
#endregion
+ #region Event Handlers
+
+ private void Comparer_Progress(object sender, string e)
+ {
+ if (_mainView == null)
+ {
+ _mainView = ServiceLocator.Current.GetInstance<MainViewVM>();
+ _mainView.Log = String.Empty;
+ }
+
+ _mainView.Log += ("[" + DateTime.Now.ToTimeString() + "] " + e + Environment.NewLine);
+ }
+
+ #endregion
+
#region Private Methods
/// <summary>
@@ -212,6 +229,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
using (_notification.PushTaskItem("Comparing database..."))
{
_comparer = new LocalDBComparer(new SQLiteDataBase(_masterDBFile), new SQLiteDataBase(_slaveDBFile));
+ _comparer.Progress += Comparer_Progress;
var diffs = _comparer.Compare();
Differences = new ObservableCollection<Diff>(diffs);
@@ -253,6 +271,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
});
}
+
/// <summary>
/// Synchronizes the selected machine with the remote database.
/// </summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs
index 41cf94b96..2621f622a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/LocalSynchronizationViewVM.cs
@@ -1,4 +1,5 @@
-using Microsoft.Win32;
+using Microsoft.Practices.ServiceLocation;
+using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@@ -31,6 +32,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
private LocalDBComparer _comparer;
private INotificationProvider _notification;
private bool _isWorking;
+ private MainViewVM _mainView;
#region Constructors
@@ -170,6 +172,21 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
#endregion
+ #region Event Handlers
+
+ private void Comparer_Progress(object sender, string e)
+ {
+ if (_mainView == null)
+ {
+ _mainView = ServiceLocator.Current.GetInstance<MainViewVM>();
+ _mainView.Log = String.Empty;
+ }
+
+ _mainView.Log += ("[" + DateTime.Now.ToTimeString() + "] " + e + Environment.NewLine);
+ }
+
+ #endregion
+
#region Private Methods
/// <summary>
@@ -218,6 +235,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
private void Compare()
{
_comparer = new LocalDBComparer(new SQLiteDataBase(MasterDBFile), new SQLiteDataBase(SlaveDBFile));
+ _comparer.Progress += Comparer_Progress;
Task.Factory.StartNew(() =>
{
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs
index 21d76d7d7..987b9ac4d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs
@@ -19,13 +19,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
/// </summary>
public MainViewVM()
{
- MainViewLogger logger = new MainViewLogger();
- logger.NewLog += (output) =>
- {
- //Log += output + Environment.NewLine;
- };
-
- LogManager.RegisterLogger(logger);
+ Log = "Synchronization module started...";
}
private String _log;
@@ -37,58 +31,5 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
get { return _log; }
set { _log = value; RaisePropertyChanged(nameof(Log)); }
}
-
- #region Custom Logger
-
- /// <summary>
- /// Represents a custom logger.
- /// </summary>
- /// <seealso cref="Tango.Logging.ILogger" />
- public class MainViewLogger : ILogger
- {
- /// <summary>
- /// Gets or sets a value indicating whether this <see cref="T:Tango.Logging.ILogger" /> is enabled.
- /// </summary>
- public bool Enabled { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this <see cref="T:Tango.Logging.ILogger" /> will be notified about logs without waiting for the logs queue.
- /// </summary>
- public bool Immediate { get; set; }
-
- /// <summary>
- /// Occurs when a new log item is available.
- /// </summary>
- public event Action<String> NewLog;
-
- /// <summary>
- /// Initializes a new instance of the <see cref="MainViewLogger"/> class.
- /// </summary>
- public MainViewLogger()
- {
- Enabled = true;
- Immediate = true;
- }
-
- /// <summary>
- /// Called when a new library exception is available.
- /// </summary>
- /// <param name="output">The output.</param>
- public void OnError(LogItemBase output)
- {
- NewLog?.Invoke(output.TimeStamp.ToTimeString() + ": " + output.GetMessage());
- }
-
- /// <summary>
- /// Called when a new library trace is available.
- /// </summary>
- /// <param name="output">The output.</param>
- public void OnTrace(LogItemBase output)
- {
- NewLog?.Invoke(output.TimeStamp.ToTimeString() + ": " + output.GetMessage());
- }
- }
-
- #endregion
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs
index f9f738a26..0f427643f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/RemoteSynchronizationViewVM.cs
@@ -21,6 +21,7 @@ using Tango.SharedUI;
using Tango.Synchronization;
using Tango.Synchronization.Local;
using Tango.Synchronization.Remote;
+using Microsoft.Practices.ServiceLocation;
namespace Tango.MachineStudio.Synchronization.ViewModels
{
@@ -38,6 +39,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
private RemoteDBComparer _comparer;
private RemoteDB _remoteDB;
private LocalDB _localDB;
+ private MainViewVM _mainView;
#region Constructors
@@ -109,6 +111,21 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
#endregion
+ #region Event Handlers
+
+ private void Comparer_Progress(object sender, string e)
+ {
+ if (_mainView == null)
+ {
+ _mainView = ServiceLocator.Current.GetInstance<MainViewVM>();
+ _mainView.Log = String.Empty;
+ }
+
+ _mainView.Log += ("[" + DateTime.Now.ToTimeString() + "] " + e + Environment.NewLine);
+ }
+
+ #endregion
+
#region Properties
private ObservableCollection<Diff> _differences;
@@ -222,6 +239,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels
_remoteDB = RemoteDB.CreateDefault();
_localDB = new LocalDB(SlaveDBFile);
_comparer = new RemoteDBComparer(_remoteDB, _localDB, SelectedMachine.SerialNumber);
+ _comparer.Progress += Comparer_Progress;
_isWorking = true;
InvalidateRelayCommands();
Thread.Sleep(1500);