private async void GetData()
        {
            try
            {
                if (MasterPRItems != null && MasterPRItems.Count > 0)
                {
                    return;
                }

                await Task.Delay(1000);

                UserDialogs.Instance.ShowLoading();
                MasterPRItems = new ObservableCollection <Models.Repository>();
                PRItems       = new ObservableCollection <Models.Repository>();
                var model = await Github.GetRepositories(Paging);

                Paging        = model.Count / 99;
                MasterPRItems = new ObservableCollection <Models.Repository>(model);
                PRItems       = MasterPRItems;
                ErrorMessage  = string.Empty;
                if (MasterPRItems.Count >= 999)
                {
                    ShowLoadMore = false;
                }
                else
                {
                    ShowLoadMore = true;
                }
            }
            finally
            {
                UserDialogs.Instance.HideLoading();
            }
        }
        private async void LoadMore(object obj)
        {
            if (Paging < 11)
            {
                UserDialogs.Instance.ShowLoading();

                Paging++;

                var model = await Github.GetRepositories(Paging);

                MasterPRItems = new ObservableCollection <Models.Repository>(model);

                Search();

                if (MasterPRItems.Count >= 999)
                {
                    ShowLoadMore = false;
                }
                UserDialogs.Instance.HideLoading();
            }
        }
Пример #3
0
        public async Task <List <QRepository> > GetRepositories()
        {
            logger.LogInformation("get repositories");

            if (!IsDbExist())
            {
                logger.LogInformation("db not exist");

                var user = Environment.GetEnvironmentVariable("GITHUB_TOKEN");
                var pass = Environment.GetEnvironmentVariable("ghp") ?? user;

                var github = new Github(new LoginInfo {
                    User  = user,
                    Token = pass,
                    // Organization = "bcircle"
                    Organization = "bcircle-intern"
                });

                using (var db = new LiteDatabase(DbPath)) {
                    logger.LogInformation("get github repositories ...");
                    var stats = await github.GetRepositories();

                    logger.LogInformation("get collections");
                    var col = db.GetCollection <QRepository>("Repositories");
                    stats.ToList().ForEach(x => {
                        logger.LogInformation("insert data - {0} ", x.Name);
                        col.Insert(x);
                    });
                    return(stats.ToList());
                }
            }
            else
            {
                using (var db = new LiteDatabase(DbPath)) {
                    var col = db.GetCollection <QRepository>("Repositories");
                    return(col.FindAll().ToList());
                }
            }
        }
Пример #4
0
 public void ShouldGetRepository()
 {
     var info   = LoginInfo();
     var github = new Github(info);
     var repo   = github.GetRepositories().Result.ToList();
 }