diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-07 14:53:58 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-07 14:53:58 +0200 |
| commit | bd63d7d2f7769e5534fb9a58d97358564c2cb674 (patch) | |
| tree | d4c990b02d5b0678e8133a73b30f474dd1b3b428 /Software/Visual_Studio/MachineStudio/Modules | |
| parent | 6e082b1d9d7b4c5888e7e7345e148eb944b8c624 (diff) | |
| download | Tango-bd63d7d2f7769e5534fb9a58d97358564c2cb674.tar.gz Tango-bd63d7d2f7769e5534fb9a58d97358564c2cb674.zip | |
Implemented progress text on DB Comparers instead of custom logger.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
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); |
