diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2019-12-11 20:57:30 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2019-12-11 20:57:30 +0200 |
| commit | 621230afe9d9040536b43241e63117c9bb34beaa (patch) | |
| tree | c9f3a3793372a1be6a7e73cdf633e2dae40c21c9 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs | |
| parent | 3f069bb4a5303b2c732ba1263229f62526acc693 (diff) | |
| download | Tango-621230afe9d9040536b43241e63117c9bb34beaa.tar.gz Tango-621230afe9d9040536b43241e63117c9bb34beaa.zip | |
Implemented Jobs, JobRuns & Machine Events Synchronization.
Added synchronizations to Updates view on Machine Designer.
Removed request response events logging from machine studio.
Fixed issue with exception throwing from machine service.
Implemented "New jobs synchronized" notification item to PPC.
Added synchronization to PPC settings.
Added Synchronization view to technician module.
Implemented PPC Schema synchronizer utility.
Added custom query support to EntityCollectionBuilder.
Added synchronization status to TangoUpdate.
Removed FK from Jobs and Job runs.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs index 7ff64c505..3ac3110bb 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs @@ -8,6 +8,7 @@ using System.Windows.Data; using Tango.BL; using Tango.BL.Builders; using Tango.BL.Entities; +using Tango.Core.Commands; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.MachineDesigner.Views; using Tango.SharedUI; @@ -17,6 +18,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels public class MachineUpdatesViewVM : ViewModel { private INotificationProvider _notification; + private ObservablesContext _context; #region Properties @@ -70,6 +72,19 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels set { _displayDatabaseUpdates = value; RaisePropertyChangedAuto(); OnFilterChanged(); } } + private bool _displaySynchronizations; + public bool DisplaySynchronizations + { + get { return _displaySynchronizations; } + set { _displaySynchronizations = value; RaisePropertyChangedAuto(); OnFilterChanged(); } + } + + #endregion + + #region Commands + + public RelayCommand RefreshCommand { get; set; } + #endregion #region Constructors @@ -79,6 +94,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels DisplayApplicationUpdates = true; DisplayMachineSetups = true; DisplayDatabaseUpdates = true; + DisplaySynchronizations = true; + + RefreshCommand = new RelayCommand(Refresh, () => IsFree); } public MachineUpdatesViewVM(INotificationProvider notificationProvider) : this() @@ -92,17 +110,36 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels public async Task Init(Machine machine, ObservablesContext context) { - Machine = machine; - Updates = (await new TangoUpdatesCollectionBuilder(context).Set(x => x.MachineGuid == machine.Guid).BuildAsync()).OrderByDescending(x => x.StartDate).ToList(); - UpdatesView = CollectionViewSource.GetDefaultView(Updates); - UpdatesView.Filter = UpdatesFilter; - OnFilterChanged(); + try + { + _context = context; + Machine = machine; + Updates = (await new TangoUpdatesCollectionBuilder(context).Set(x => x.MachineGuid == machine.Guid).BuildAsync()).OrderByDescending(x => x.StartDate).ToList(); + UpdatesView = CollectionViewSource.GetDefaultView(Updates); + UpdatesView.Filter = UpdatesFilter; + OnFilterChanged(); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error loading machine updates."); + _notification.ShowError($"An error occurred while loading the history of machine updates.\n{ex.FlattenMessage()}"); + } } #endregion #region Private Methods + private async void Refresh() + { + IsFree = false; + using (_notification.PushTaskItem("Refreshing machine updates...")) + { + await Init(Machine, _context); + } + IsFree = true; + } + private void OnFilterChanged() { if (UpdatesView != null) @@ -119,6 +156,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels if (!DisplayMachineSetups && update.IsSetup) return false; if (!DisplayApplicationUpdates && update.IsUpdate) return false; if (!DisplayDatabaseUpdates && update.IsDataBase) return false; + if (!DisplaySynchronizations && update.IsSynchronization) return false; return true; } else |
