예제 #1
0
        public BranchesPresenter
        (
            IBranchesView view,
            ICreateBranchView createView,
            IDeleteBranchView deleteView,
            IMergeView mergeView
        )
        {
            _view       = view;
            _createView = createView;
            _deleteView = deleteView;
            _mergeView  = mergeView;

            _view.CreateBranch          += OnShowCreateBranchView;
            _view.DeleteBranch          += OnShowDeleteBranchView;
            _view.Merge                 += OnShowMerge;
            _view.SelectedBranchChanged += OnSelectedBranchChanged;

            _createView.Confirm += OnCreateBranch;
            _createView.Cancel  += OnCreateViewCancel;
            _createView.UserInputTextChanged += OnCreateBranchTextChanged;

            _deleteView.Confirm          += OnDeleteBranch;
            _deleteView.Cancel           += OnDeleteViewCancel;
            _deleteView.SelectionChanged += OnDeleteViewSelectionChanged;

            _mergeView.Confirm            += OnMerge;
            _mergeView.Cancel             += OnCancelMerge;
            _mergeView.MergeStatusChanged += OnMergeStatusChanged;
        }
예제 #2
0
        public BranchesPresenter
            (
                IBranchesView view,
                ICreateBranchView createView,
                IDeleteBranchView deleteView,
                IMergeView mergeView
            )
        {
            _view = view;
            _createView = createView;
            _deleteView = deleteView;
            _mergeView = mergeView;

            _view.CreateBranch += OnShowCreateBranchView;
            _view.DeleteBranch += OnShowDeleteBranchView;
            _view.Merge += OnShowMerge;
            _view.SelectedBranchChanged += OnSelectedBranchChanged;

            _createView.Confirm += OnCreateBranch;
            _createView.Cancel += OnCreateViewCancel;
            _createView.UserInputTextChanged += OnCreateBranchTextChanged;

            _deleteView.Confirm += OnDeleteBranch;
            _deleteView.Cancel += OnDeleteViewCancel;
            _deleteView.SelectionChanged += OnDeleteViewSelectionChanged;

            _mergeView.Confirm += OnMerge;
            _mergeView.Cancel += OnCancelMerge;
            _mergeView.MergeStatusChanged += OnMergeStatusChanged;
        }
예제 #3
0
 public BranchesPresenter
 (
     IBranchesView view,
     ICreateBranchView createView,
     IDeleteBranchView deleteView,
     IMergeView mergeView,
     ISourceControlProvider provider
 )
     : this(view, createView, deleteView, mergeView)
 {
     this.Provider = provider;
 }
예제 #4
0
 public BranchesPresenter
     (            
         IBranchesView view,
         ICreateBranchView createView,
         IDeleteBranchView deleteView,
         IMergeView mergeView,
         ISourceControlProvider provider
     )
     :this(view, createView, deleteView, mergeView)
 {
     this.Provider = provider;
 }
        public MergeServiceViewModel(IShellViewModel shellViewModel, Microsoft.Practices.Prism.PubSubEvents.IEventAggregator aggregator, IExplorerItemViewModel selectedResource, IMergeView mergeView, IServer selectedServer)
        {
            if (shellViewModel == null)
            {
                throw new ArgumentNullException(nameof(shellViewModel));
            }
            var localhostEnvironment = CreateEnvironmentFromServer(shellViewModel.LocalhostServer, shellViewModel);

            localhostEnvironment.Children = shellViewModel.ExplorerViewModel?.Environments[0].Children;
            _shellViewModel   = shellViewModel;
            _selectedResource = selectedResource;

            ResourceToMerge = _selectedResource.IsVersion ? _selectedResource.Parent.ResourceName : _selectedResource.ResourceName;

            _view = mergeView;

            Environments = new ObservableCollection <IEnvironmentViewModel> {
                localhostEnvironment
            };

            MergeConnectControlViewModel = new ConnectControlViewModel(_shellViewModel.LocalhostServer, aggregator, _shellViewModel.ExplorerViewModel.ConnectControlViewModel.Servers)
            {
                SelectedConnection = selectedServer
            };

            LoadVersions(selectedResource.Server);
            ShowConnectControl = true;
            MergeConnectControlViewModel.CanEditServer       = false;
            MergeConnectControlViewModel.CanCreateServer     = false;
            MergeConnectControlViewModel.ServerConnected    += async(sender, server) => { await ServerConnectedAsync(server).ConfigureAwait(false); };
            MergeConnectControlViewModel.ServerDisconnected += ServerDisconnected;

            ShowConnectControl = false;
            IsRefreshing       = false;
            RefreshCommand     = new DelegateCommand(() => RefreshEnvironment(SelectedEnvironment.ResourceId).ConfigureAwait(false));
            CancelCommand      = new DelegateCommand(Cancel);
            MergeCommand       = new DelegateCommand(Merge, CanMerge);

            MergeConnectControlViewModel.SelectedEnvironmentChanged += async(sender, id) =>
            {
                await MergeExplorerViewModelSelectedEnvironmentChangedAsync(sender).ConfigureAwait(false);
            };
        }