Beispiel #1
0
 public GetMicrosoftLearnContributorCount(AdvocateService advocateService,
                                          BlobStorageService blobStorageService,
                                          IGitHubApiStatusService gitHubApiStatusService,
                                          GitHubGraphQLApiService gitHubGraphQLApiService)
 {
     _advocateService         = advocateService;
     _blobStorageService      = blobStorageService;
     _gitHubApiStatusService  = gitHubApiStatusService;
     _gitHubGraphQLApiService = gitHubGraphQLApiService;
 }
 public IndexModel(ILogger <IndexModel> logger,
                   OptOutDatabase optOutDatabase,
                   AdvocateService advocateService,
                   GraphServiceClient graphServiceClient)
 {
     _logger             = logger;
     _optOutDatabase     = optOutDatabase;
     _advocateService    = advocateService;
     _graphServiceClient = graphServiceClient;
 }
        static async Task <AdovocatesTotalContributionsModel> GetTotalContributions(AdvocateService advocateService, GitHubGraphQLApiService gitHubGraphQLApiService, ILogger log, DateTime from, DateTime to, string?requestedTeam, CancellationToken cancellationToken)
        {
            int advocateCount = 0, advocateContributorCount = 0;
            var teamContributionCount = new SortedDictionary <string, int>();

            var currentAdvocates = await advocateService.GetCurrentAdvocates(cancellationToken).ConfigureAwait(false);

            foreach (var advocate in currentAdvocates)
            {
                if (requestedTeam is not null && advocate.Team != requestedTeam)
                {
                    continue;
                }

                log.LogInformation($"Found {advocate.Name}");
                advocateCount++;

                var microsoftDocsContributions = await gitHubGraphQLApiService.GetMicrosoftDocsContributionsCollection(advocate.GitHubUsername, from, to).ConfigureAwait(false);

                log.LogInformation($"Team: {advocate.Team}");
                if (!teamContributionCount.ContainsKey(advocate.Team))
                {
                    teamContributionCount.Add(advocate.Team, 0);
                }

                if (microsoftDocsContributions.TotalPullRequestContributions
                    + microsoftDocsContributions.TotalPullRequestReviewContributions
                    + microsoftDocsContributions.TotalCommitContributions > 0)
                {
                    log.LogInformation($"Total Contributions: {microsoftDocsContributions.TotalContributions}");
                    advocateContributorCount++;
                    teamContributionCount[advocate.Team]++;
                }
            }

            return(new AdovocatesTotalContributionsModel(advocateCount, advocateContributorCount, teamContributionCount));
        }
Beispiel #4
0
 public GetAdvocatesFunction(AdvocateService advocateService, OptOutDatabase optOutDatabase)
 {
     _optOutDatabase  = optOutDatabase;
     _advocateService = advocateService;
 }