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); }
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; }
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(); }
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; }