コード例 #1
0
        private async Task LoadHotOrNotAsync(string offset = "0")
        {
            if (Methods.CheckConnectivity())
            {
                //int countList = MAdapter.TrendingList.Count;
                var(apiStatus, respond) = await RequestsAsync.Users.HotOrNotAsync(UserDetails.Gender, "20", offset);

                if (apiStatus != 200 || !(respond is ListUsersObject result) || result.Data == null)
                {
                    if (MainScrollEvent != null)
                    {
                        MainScrollEvent.IsLoading = false;
                    }
                    Methods.DisplayReportResult(Activity, respond);
                }
                else
                {
                    var respondList = result.Data.Count;
                    if (respondList > 0)
                    {
                        var checkList = MAdapter.TrendingList.FirstOrDefault(q => q.Type == ItemType.HotOrNot);
                        if (checkList == null)
                        {
                            var hotOrNot = new Classes.TrendingClass()
                            {
                                Id           = 200,
                                HotOrNotList = new List <UserInfoObject>(),
                                Type         = ItemType.HotOrNot
                            };

                            foreach (var item in from item in result.Data let check = hotOrNot.HotOrNotList.FirstOrDefault(a => a.Id == item.Id) where check == null select item)
                            {
                                hotOrNot.HotOrNotList.Add(item);
                            }

                            MAdapter.TrendingList.Insert(1, hotOrNot);
                            Activity.RunOnUiThread(() => { MAdapter.NotifyItemInserted(1); });
                        }
                        else
                        {
                            foreach (var item in from item in result.Data let check = checkList.HotOrNotList.FirstOrDefault(a => a.Id == item.Id) where check == null select item)
                            {
                                checkList.HotOrNotList.Add(item);
                            }
                        }
                    }
                }
            }
            else
            {
                Toast.MakeText(Context, Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
            }
        }