Beispiel #1
0
        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);
            }
Beispiel #2
0
        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;
        }