public void SortEnumeratedRepositories(Dictionary <GitHubApi.GitHubRepository, DateTime> processedTable, List <GitHubApi.GitHubRepository> unprocessedList)
        {
            GitHubApi.GitHubRepository?OldestRepository;

            do
            {
                OldestRepository = null;

                if (unprocessedList.Count > 0)
                {
                    OldestRepository = unprocessedList.First();
                    unprocessedList.RemoveAt(0);
                }
                else
                {
                    foreach (KeyValuePair <GitHubApi.GitHubRepository, DateTime> Entry in processedTable)
                    {
                        if (OldestRepository == null || Entry.Value < processedTable[OldestRepository])
                        {
                            OldestRepository = Entry.Key;
                        }
                    }

                    if (OldestRepository != null)
                    {
                        processedTable.Remove(OldestRepository);
                    }
                }

                if (OldestRepository != null)
                {
                    RepositoryList.Add(new RepositoryInfo(RepositoryList, OldestRepository));
                }
            }while (OldestRepository != null);
        }
        public async Task HandleOnAppearing()
        {
            RepositoryList.Clear();
            SearchStatusText = string.Format(AppResources.RepoPage_SearchInProgressString, UserName);
            IsLoaderRunning  = true;
            try
            {
                Repository[] repos = await _repoHostClient.GetRepositoriesByUserNameAsync(UserName);

                if (repos == null || repos.Length == 0)
                {
                    SearchStatusText = string.Format(AppResources.RepoPage_ResultNotFoundString, UserName);
                }
                else
                {
                    SearchStatusText = string.Empty;
                    foreach (var repo in repos)
                    {
                        RepositoryList.Add(_mapper.MapRepoDTOToRepoViewModel(repo));
                    }
                }
            }
            finally
            {
                IsLoaderRunning = false;
            }
        }
Example #3
0
        public IRepository <T> GetRepository <T>() where T : Entity
        {
            var repositoryListItem = _repositories.GetRepository <T>();
            NHRepository <T> repository;

            if (repositoryListItem == null)
            {
                repository = new NHRepository <T>(_session);
                _repositories.Add <T>(repository);
            }
            else
            {
                repository = (NHRepository <T>)repositoryListItem.Repository;
            }
            return(repository);
        }
Example #4
0
        public IRepository <T> GetRepository <T>() where T : Entity
        {
            var repositoryListItem = _repositories.GetRepository <T>();
            EFRepository <T> repository;

            if (repositoryListItem == null)
            {
                repository = new EFRepository <T>(_context);
                _repositories.Add <T>(repository);
            }
            else
            {
                repository = (EFRepository <T>)repositoryListItem.Repository;
            }
            return(repository);
        }
Example #5
0
        public void Should_AddRepository()
        {
            _target.Add(_repositories[0]);
            _target.Add(_repositories[1]);

            Assert.Equal(2, _target.Repositories.Count());
        }