private void ChangeParameterType([NotNull] ActionParameterViewModelBase parameter, [NotNull] ParameterDescription newParameterDescription) { Assert.ArgumentNotNull(parameter, "parameter"); Assert.ArgumentNotNull(newParameterDescription, "newParameterDescription"); var originalIndex = Parameters.IndexOf(parameter); RemoveParameter(parameter); AddParameter(newParameterDescription, originalIndex); }
private void RemoveParameter([NotNull] ActionParameterViewModelBase parameter) { Assert.ArgumentNotNull(parameter, "parameter"); parameter.ParameterTypeChanged -= ChangeParameterType; _originalParameters.Remove(parameter.Parameter); _parameters.Remove(parameter); MoveParameterDownCommand.UpdateCanExecute(); MoveParameterUpCommand.UpdateCanExecute(); OnPropertyChanged("ParametersCollectionEmpty"); OnPropertyChanged("ActionParametersDescription"); }
private void AddParameter([NotNull] ActionParameterViewModelBase parameterToAdd) { Assert.ArgumentNotNull(parameterToAdd, "parameterToAdd"); parameterToAdd.ParameterTypeChanged += ChangeParameterType; parameterToAdd.PropertyChanged += HandleParameterDescriptionChanged; _parameters.Add(parameterToAdd); _originalParameters.Add(parameterToAdd.Parameter); MoveParameterDownCommand.UpdateCanExecute(); MoveParameterUpCommand.UpdateCanExecute(); OnPropertyChanged("ParametersCollectionEmpty"); OnPropertyChanged("ActionParametersDescription"); }