From e9ea1f69f6ae9428e542b887be42d7fd7e1d560c Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Mon, 19 Oct 2020 15:59:53 +0300 Subject: Fixed SearchComboBox issue with Run click. Fixed no error handling on MS hw version loading. --- .../ViewModels/MainViewVM.cs | 40 ++++++++++++++-------- 1 file changed, 25 insertions(+), 15 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs index cf66c1a34..47fe19a05 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs @@ -261,7 +261,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels { using (var db = ObservablesContext.CreateDefault()) { - _hardwareVersions = db.HardwareVersions.ToObservableCollection(); + _hardwareVersions = db.HardwareVersions.OrderByDescending(x => x.Version).ToObservableCollection(); InvokeUI(() => { RaisePropertyChanged(nameof(HardwareVersions)); @@ -360,24 +360,34 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels { using (_notification.PushTaskItem("Loading hardware version...")) { - IsFree = false; - - await Task.Factory.StartNew(() => + try { - _isNew = false; - var selectedVersion = SelectedVersion; - RefreshVersions(); - var version = _hardwareVersions.SingleOrDefault(X => X.Guid == selectedVersion.Guid); - CreateVersionView(SelectedVersion); + IsFree = false; - InvokeUI(() => + await Task.Factory.StartNew(() => { - _selectedVersion = version; - RaisePropertyChanged(nameof(SelectedVersion)); - }); - }); + _isNew = false; + var selectedVersion = SelectedVersion; + RefreshVersions(); + var version = _hardwareVersions.SingleOrDefault(X => X.Guid == selectedVersion.Guid); + CreateVersionView(SelectedVersion); - IsFree = true; + InvokeUI(() => + { + _selectedVersion = version; + RaisePropertyChanged(nameof(SelectedVersion)); + }); + }); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error loading hardware version."); + _notification.ShowError($"Error loading the selected hardware version.\n{ex.FlattenMessage()}"); + } + finally + { + IsFree = true; + } } } -- cgit v1.3.1