From 02fe464c0fc173404771e0e61c5ac0db2a1813d3 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Wed, 7 Apr 2021 10:56:23 +0300 Subject: Several bug fixes. --- .../ViewModels/MainViewVM.cs | 38 +++++++++++++++------- 1 file changed, 26 insertions(+), 12 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index 96d8582a7..35e27c834 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -2234,23 +2234,37 @@ namespace Tango.MachineStudio.Developer.ViewModels { if (_notification.ShowQuestion("Are you sure you want to delete the selected jobs?")) { - var jobsToReport = SelectedJobs.Select(x => JobDTO.FromObservable(x)).ToList(); - - LogManager.Log(String.Format("Removing {0} jobs...", SelectedJobs.Count)); - SelectedJobs.ToList().ForEach(x => + try { - x.Delete(_machineDbContext); - }); + IsFree = false; + + var jobsToReport = SelectedJobs.Select(x => JobDTO.FromObservable(x)).ToList(); - using (_notification.PushTaskItem("Removing selected jobs...")) + LogManager.Log(String.Format("Removing {0} jobs...", SelectedJobs.Count)); + SelectedJobs.ToList().ForEach(x => + { + x.Delete(_machineDbContext); + }); + + using (_notification.PushTaskItem("Removing selected jobs...")) + { + LogManager.Log("Saving selected machine to database..."); + await SelectedMachine.SaveAsync(_machineDbContext); + } + + foreach (var job in jobsToReport) + { + _actionLogManager.InsertLog(ActionLogType.JobDeleted, AuthenticationProvider.CurrentUser, job.Name, job, "Job deleted using Machine Studio.", true); + } + } + catch (Exception ex) { - LogManager.Log("Saving selected machine to database..."); - await SelectedMachine.SaveAsync(_machineDbContext); + LogManager.Log(ex, "Error removing the selected job."); + _notification.ShowError($"Error removing the selected job.\n{ex.FlattenMessage()}"); } - - foreach (var job in jobsToReport) + finally { - _actionLogManager.InsertLog(ActionLogType.JobDeleted, AuthenticationProvider.CurrentUser, job.Name, job, "Job deleted using Machine Studio.", true); + IsFree = true; } } } -- cgit v1.3.1