private async Task LoadActivitiesAsync(string offset = "0") { if (Methods.CheckConnectivity()) { int countList = MAdapter.LastActivitiesList.Count; (int apiStatus, var respond) = await RequestsAsync.Global.Get_Activities("6", offset); if (apiStatus == 200) { if (respond is LastActivitiesObject result) { var respondList = result.Activities.Count; if (respondList > 0) { if (countList > 0) { foreach (var item in from item in result.Activities let check = MAdapter.LastActivitiesList.FirstOrDefault(a => a.Id == item.Id) where check == null select item) { MAdapter.LastActivitiesList.Add(item); } Activity.RunOnUiThread(() => { MAdapter.NotifyItemRangeInserted(countList, MAdapter.LastActivitiesList.Count - countList); }); } else { MAdapter.LastActivitiesList = new ObservableCollection <ActivityDataObject>(result.Activities); Activity.RunOnUiThread(() => { MAdapter.NotifyDataSetChanged(); }); } } else { if (MAdapter.LastActivitiesList.Count > 10 && !LastActivitiesRecyclerView.CanScrollVertically(1)) { Toast.MakeText(Context, Context.GetText(Resource.String.Lbl_NoMoreActivities), ToastLength.Short)?.Show(); } } } } else { Methods.DisplayReportResult(Activity, respond); } //MainScrollEvent.IsLoading = false; Activity.RunOnUiThread(ShowEmptyPage); } else { LastActivitiesRecyclerView.Visibility = ViewStates.Gone; LayoutSuggestionLastActivities.Visibility = ViewStates.Gone; Toast.MakeText(Context, Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show(); } }
private async Task LoadActivitiesAsync(string offset = "0") { if (MainScrollEvent.IsLoading) { return; } if (Methods.CheckConnectivity()) { MainScrollEvent.IsLoading = true; int countList = MAdapter.LastActivitiesList.Count; (int apiStatus, var respond) = await RequestsAsync.Global.Get_Activities("10", offset); if (apiStatus == 200) { if (respond is LastActivitiesObject result) { var respondList = result.Activities.Count; if (respondList > 0) { if (countList > 0) { foreach (var item in from item in result.Activities let check = MAdapter.LastActivitiesList.FirstOrDefault(a => a.Id == item.Id) where check == null select item) { MAdapter.LastActivitiesList.Add(item); } RunOnUiThread(() => { MAdapter.NotifyItemRangeInserted(countList, MAdapter.LastActivitiesList.Count - countList); }); } else { MAdapter.LastActivitiesList = new ObservableCollection <ActivityDataObject>(result.Activities); RunOnUiThread(() => { MAdapter.NotifyDataSetChanged(); }); } } else { if (MAdapter.LastActivitiesList.Count > 10 && !MRecycler.CanScrollVertically(1)) { Toast.MakeText(this, GetText(Resource.String.Lbl_NoMoreActivities), ToastLength.Short)?.Show(); } } } } else { Methods.DisplayReportResult(this, respond); } RunOnUiThread(ShowEmptyPage); } else { Inflated = EmptyStateLayout.Inflate(); EmptyStateInflater x = new EmptyStateInflater(); x.InflateLayout(Inflated, EmptyStateInflater.Type.NoConnection); if (!x.EmptyStateButton.HasOnClickListeners) { x.EmptyStateButton.Click += null !; x.EmptyStateButton.Click += EmptyStateButtonOnClick; } Toast.MakeText(this, GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show(); MainScrollEvent.IsLoading = false; } MainScrollEvent.IsLoading = false; }