public async Task DoRemoveManagedActivityAsync() { try { IsBusy = true; lock (m_Lock) { IEnumerable <IDependentActivity <int, int> > dependentActivities = SelectedActivities.ToList(); var activityIds = new HashSet <int>(dependentActivities.Select(x => x.Id)); if (!activityIds.Any()) { return; } m_CoreViewModel.RecordRedoUndo(() => { m_CoreViewModel.RemoveManagedActivities(activityIds); }); } HasStaleOutputs = true; IsProjectUpdated = true; await RunAutoCompileAsync().ConfigureAwait(true); } catch (Exception ex) { DispatchNotification( Resource.ProjectPlan.Properties.Resources.Title_Error, ex.Message); } finally { SelectedActivities.Clear(); RaisePropertyChanged(nameof(Activities)); RaisePropertyChanged(nameof(SelectedActivities)); IsBusy = false; RaiseCanExecuteChangedAllCommands(); } }
public async Task DoRemoveManagedActivityAsync() { try { IsBusy = true; lock (m_Lock) { var activityIds = new HashSet <int>(SelectedActivities.Select(x => x.Id)); if (!activityIds.Any()) { return; } m_CoreViewModel.RemoveManagedActivities(activityIds); } HasStaleOutputs = true; IsProjectUpdated = true; await RunAutoCompileAsync(); } catch (Exception ex) { DispatchNotification( Properties.Resources.Title_Error, ex.Message); } finally { SelectedActivities.Clear(); RaisePropertyChanged(nameof(Activities)); RaisePropertyChanged(nameof(SelectedActivities)); IsBusy = false; RaiseCanExecuteChangedAllCommands(); } }