protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            // read all current for all repos

            var currentlyUsedAreaOwnerConfigs = new Dictionary <(string repositoryOwner, string repositoryName), AreaOwnerModel>();

            var repos = await _listRepositories.GetAllRepositories();

            foreach (var repo in repos)
            {
                // todo: we shall actually initialize with last processed sha which shall be persisted after processing
                //currentlyUsedAreaOwnerConfigs[(repo.Owner, repo.Name)] = await _areaOwnerProvider.Get(repo.Owner, repo.Name);
            }

            while (!stoppingToken.IsCancellationRequested)
            {
                Console.WriteLine("test");

                var gitHubClient = await _gitHubClientFactory.GetGitHubInstallationClient();

                repos = await _listRepositories.GetAllRepositories();

                foreach (var repo in repos)
                {
                    if (!currentlyUsedAreaOwnerConfigs.TryGetValue((repo.Owner, repo.Name), out var current))
                    {
                        current = new AreaOwnerModel(new AreaOwnerItem[0], string.Empty, default, default);
Exemple #2
0
        private async Task <HomeViewModel> GetHomeViewModel(string userId)
        {
            // TODO: remove it, and add repo selection process (in url segment) its for testing only, or cease to use it for a while
            var repos = await _listRepositories.GetAllRepositories();

            var labels = await _userLabelSubscription.GetUserSubscriptions(repos.First().Owner, repos.First().Name, userId);

            var labelsJoined = string.Join(", ", labels.Select(o => o.Label).OrderBy(o => o));
            var viewModel    = new HomeViewModel(user: userId, labels: labelsJoined);

            return(viewModel);
        }