private void AddAction([NotNull] ActionViewModelBase actionToAdd) { Assert.ArgumentNotNull(actionToAdd, "actionToAdd"); actionToAdd.PropertyChanged += HandleActionDescriptionChange; actionToAdd.ActionTypeChanged += ChangeActionType; _actions.Add(actionToAdd); _originalActions.Add(actionToAdd.Action); OnPropertyChanged("ActionsCollectionEmpty"); }
private void RemoveAction([NotNull] ActionViewModelBase actionToRemove) { Assert.ArgumentNotNull(actionToRemove, "actionToRemove"); actionToRemove.ActionTypeChanged -= ChangeActionType; actionToRemove.PropertyChanged -= HandleActionDescriptionChange; _originalActions.Remove(actionToRemove.Action); _actions.Remove(actionToRemove); OnPropertyChanged("ActionsDescription"); OnPropertyChanged("ActionsCollectionEmpty"); }
private void ChangeActionType([NotNull] ActionViewModelBase action, [NotNull] ActionDescription newactiontype) { Assert.ArgumentNotNull(action, "action"); Assert.ArgumentNotNull(newactiontype, "newactiontype"); var currentIndex = Actions.IndexOf(action); RemoveAction(action); AddAction(newactiontype, currentIndex); OnPropertyChanged("ActionsCollectionEmpty"); }