diff options
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs | 40 |
1 files changed, 25 insertions, 15 deletions
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; + } } } |
