コード例 #1
0
 private bool CanMerge()
 {
     return(SelectedChangesets != null &&
            SelectedChangesets.Any() &&
            Changesets.Count(x => x.ChangesetId >= SelectedChangesets.Min(y => y.ChangesetId) &&
                             x.ChangesetId <= SelectedChangesets.Max(y => y.ChangesetId)) == SelectedChangesets.Count);
 }
コード例 #2
0
        private async Task MergeAsync()
        {
            await SetBusyWhileExecutingAsync(async() =>
            {
                var orderedSelectedChangesets = SelectedChangesets.OrderBy(x => x.ChangesetId).ToList();

                _mergeOperation.MyCurrentAction += MergeOperation_MyCurrentAction;

                await _mergeOperation.Execute(new MergeModel
                {
                    WorkspaceModel      = SelectedWorkspace,
                    OrderedChangesetIds = orderedSelectedChangesets.Select(x => x.ChangesetId).ToList(),
                    SourceBranch        = SelectedSourceBranch,
                    TargetBranch        = SelectedTargetBranch
                });


                SaveDefaultSettings();
                SaveDefaultSettingsSolutionWide();

                _configHelper.SaveDictionary();
            });

            MyCurrentAction = null;
            _mergeOperation.MyCurrentAction -= MergeOperation_MyCurrentAction;
        }
コード例 #3
0
        private async Task FetchChangesetsAsync()
        {
            await _setBusyWhileExecutingAsync(async() =>
            {
                Changesets.Clear();

                var changesets = await _teamService.GetChangesetsAsync(SelectedSourceBranch, SelectedTargetBranch);

                Changesets = new ObservableCollection <Changeset>(changesets);

                if (_configManager.GetValue <bool>(ConfigKeys.ENABLE_AUTO_SELECT_ALL_CHANGESETS))
                {
                    SelectedChangesets.AddRange(Changesets.Except(SelectedChangesets));
                    RaisePropertyChanged(nameof(SelectedChangesets));
                }
            });

            MergeCommand.RaiseCanExecuteChanged();
        }
コード例 #4
0
        private async Task MergeAsync()
        {
            await _setBusyWhileExecutingAsync(async() =>
            {
                var orderedSelectedChangesets = SelectedChangesets.OrderBy(x => x.ChangesetId).ToList();

                _mergeOperation.MyCurrentAction += MergeOperation_MyCurrentAction;

                await _mergeOperation.ExecuteAsync(new MergeModel
                {
                    WorkspaceModel    = SelectedWorkspace,
                    OrderedChangesets = orderedSelectedChangesets,
                    SourceBranch      = SelectedSourceBranch,
                    TargetBranch      = SelectedTargetBranch,
                    IsLatestVersion   = SelectedChangesets.Count == Changesets.Count
                });

                SaveDefaultSettings();
                SaveDefaultSettingsSolutionWide();
            });

            MyCurrentAction = null;
            _mergeOperation.MyCurrentAction -= MergeOperation_MyCurrentAction;
        }