private async Task <ListRepositoriesViewModel> BuildListRepositoriesViewModel(IGitHubUserModelService gitHubUserModelService) { var installations = await gitHubUserModelService.GetInstallationsAsync(); var repositoriesByOwner = installations .SelectMany(installation => installation.Repositories) .GroupBy(repository => repository.Owner) .OrderBy(grouping => grouping.Key) .ToArray(); var issuedAccessTokens = await _accessTokenService.GetTokensForUserRepositoriesAsync(); var tokenLookup = issuedAccessTokens.ToLookup(t => t.GitHubRepositoryId, r => r); return(new ListRepositoriesViewModel { TokenLookup = tokenLookup, RepositoriesByOwner = repositoriesByOwner }); }