Example #1
0
        public async Task DownloadProductsFromAPI()
        {
            Task  task = RESTService.DownloadProductsFromAPI();
            await task;

            Assert.AreEqual(SessionService.cachedProducts, ProductsMocks.JakiesFejkoweProdukty);
        }
Example #2
0
        protected override async void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            Window.RequestFeature(WindowFeatures.NoTitle);
            SetContentView(Resource.Layout.ProductListView);

            allItems               = new List <Product>();
            productList            = FindViewById <ListView>(Resource.Id.productListView);
            productList.ItemClick += OnProductClickHandler;

            progressDialog = UITools.CreateAndShowLoadingDialog(this);

            await RESTService.DownloadProductsFromAPI().ContinueWith(t =>
            {
                RunOnUiThread(() =>
                {
                    UITools.EndLoadingDialog(progressDialog);
                });
            });

            allItems    = SessionService.cachedProducts.Take(PAGESIZE).ToList();
            maxPosition = allItems.Count;

            btnLoad      = new Button(this);
            btnLoad.Text = "Load more";

            if (allItems.Count == 0)
            {
                btnLoad.Enabled = false;
                btnLoad.Text    = "Brak przedmiotów!";
            }
            else if (SessionService.cachedProducts.Count <= PAGESIZE)
            {
                btnLoad.Visibility = ViewStates.Invisible;
            }

            btnLoad.Click += BtnLoadMore_ClickAsync;
            productList.AddFooterView(btnLoad);

            productList.Adapter = new MyCustomListAdapter(allItems);
        }