public void Refactor() { _model = InitializeModel(); if (_model == null) { return; } using (var container = DisposalActionContainer.Create(_factory.Create <IEncapsulateFieldPresenter, EncapsulateFieldModel>(_model), p => _factory.Release(p))) { var presenter = container.Value; if (presenter == null) { return; } _model = presenter.Show(); if (_model == null) { return; } var rewriteSession = _rewritingManager.CheckOutCodePaneSession(); AddProperty(rewriteSession); rewriteSession.TryRewrite(); } }
public void Refactor() { _model = InitializeModel(); if (_model == null) { return; } using (var container = DisposalActionContainer.Create(_factory.Create <IReorderParametersPresenter, ReorderParametersModel>(_model), p => _factory.Release(p))) { var presenter = container.Value; if (presenter == null) { return; } _model = presenter.Show(); if (_model == null || !_model.Parameters.Where((param, index) => param.Index != index).Any() || !IsValidParamOrder()) { return; } var rewriteSession = _rewritingManager.CheckOutCodePaneSession(); AdjustReferences(_model.TargetDeclaration.References, rewriteSession); AdjustSignatures(rewriteSession); rewriteSession.TryRewrite(); _model.State.OnParseRequested(this); } }
public RefactoringUserInteraction(IRefactoringPresenterFactory factory, IUiDispatcher uiDispatcher) { Action <TPresenter> presenterDisposalAction = (TPresenter presenter) => uiDispatcher.Invoke(() => factory.Release(presenter)); _presenterFactory = ((model) => DisposalActionContainer.Create(factory.Create <TPresenter, TModel>(model), presenterDisposalAction)); }
protected InteractiveRefactoringBase( IRewritingManager rewritingManager, ISelectionProvider selectionProvider, IRefactoringPresenterFactory factory, IUiDispatcher uiDispatcher) : base(rewritingManager, selectionProvider) { Action <TPresenter> presenterDisposalAction = (TPresenter presenter) => uiDispatcher.Invoke(() => factory.Release(presenter)); _presenterFactory = ((model) => DisposalActionContainer.Create(factory.Create <TPresenter, TModel>(model), presenterDisposalAction)); }