public void Get_Data_local() { try { if (MoviesAdapter != null) { if (Classes.ListChachedData_Movie.Count > 0) { MoviesAdapter.mMoviesList = Classes.ListChachedData_Movie; MoviesAdapter.BindEnd(); } } Get_MoviesList_API(); } catch (Exception e) { Crashes.TrackError(e); } }
//Get Data Movies Using Api public async void Get_MoviesList_API(string offset = "") { try { if (!IMethods.CheckConnectivity()) { RunOnUiThread(() => { swipeRefreshLayout.Refreshing = false; }); Toast.MakeText(this, GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short) .Show(); } else { var(api_status, respond) = await Client.Movies.Get_Movies("10", offset); if (api_status == 200) { if (respond is Get_Movies_Object result) { RunOnUiThread(() => { if (result.movies.Length <= 0) { if (swipeRefreshLayout.Refreshing) { swipeRefreshLayout.Refreshing = false; } } else if (result.movies.Length > 0) { if (MoviesAdapter.mMoviesList.Count > 0) { //Bring new users var listnew = result.movies.Where(c => !MoviesAdapter.mMoviesList.Select(fc => fc.id).Contains(c.id)).ToList(); if (listnew.Count > 0) { Classes.AddRange(MoviesAdapter.mMoviesList, listnew); } } else { MoviesAdapter.mMoviesList = new ObservableCollection <Get_Movies_Object.Movie>(result.movies); MoviesAdapter.BindEnd(); } } }); } } else if (api_status == 400) { if (respond is Error_Object error) { var errorText = error._errors.Error_text; //Toast.MakeText(this, errortext, ToastLength.Short).Show(); if (errorText.Contains("Invalid or expired access_token")) { API_Request.Logout(this); } } } else if (api_status == 404) { var error = respond.ToString(); //Toast.MakeText(this, error, ToastLength.Short).Show(); } } //Show Empty Page >> //=============================================================== RunOnUiThread(() => { if (MoviesAdapter.mMoviesList.Count > 0) { MoviesRecyler.Visibility = ViewStates.Visible; Movies_Empty.Visibility = ViewStates.Gone; } else { MoviesRecyler.Visibility = ViewStates.Gone; Movies_Empty.Visibility = ViewStates.Visible; } swipeRefreshLayout.Refreshing = false; //Set Event Scroll if (OnMainScrolEvent == null) { var xamarinRecyclerViewOnScrollListener = new XamarinRecyclerViewOnScrollListener(mLayoutManager, swipeRefreshLayout); OnMainScrolEvent = xamarinRecyclerViewOnScrollListener; OnMainScrolEvent.LoadMoreEvent += Movies_OnScroll_OnLoadMoreEvent; MoviesRecyler.AddOnScrollListener(OnMainScrolEvent); MoviesRecyler.AddOnScrollListener(new ScrollDownDetector()); } else { OnMainScrolEvent.IsLoading = false; } }); } catch (Exception e) { Crashes.TrackError(e); Get_MoviesList_API(offset); } }