protected async override Task Handle(StatusRequest <AzureDevOpsPullRequestsWidget> request, CancellationToken cancellationToken) { var api = new AzureDevOpsApi(Endpoint); var pullRequests = await api.GetPullRequestsAsync(request.Context.Account, request.Context.Project).ConfigureAwait(false); request.Context.Text = pullRequests.Count.ToString(); if (pullRequests is null || pullRequests.Count == 0) { _dispatcher.InvokeAsync(request.Context.Clear); }
public async Task Handle(MetricQueryRequest <PullRequestsWidget> request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.DataContext.RepositoryId)) { return; } var api = new AzureDevOpsApi(request.DataContext.ConnectionSettings); var pullRequests = await api.GetPullRequestsAsync( request.DataContext.Project, request.DataContext.RepositoryId, request.DataContext.SourceBranch, request.DataContext.TargetBranch, cancellationToken).ConfigureAwait(false); request.DataContext.Value = pullRequests.Count; var synchronizer = GetSynchronizer(request); _uiAction.Invoke(() => synchronizer.Synchronize(pullRequests.Value.ToList(), request.DataContext.Items)); request.DataContext.State = State.Ok; }