Example #1
0
        public async Task Get()
        {
            try
            {
                Nothing     = false;
                CanLoadMore = false;
                Loading     = true;
                var api = userDetailAPI.Followings(mid, Page);
                if (IsFans)
                {
                    api = userDetailAPI.Followers(mid, Page);
                }
                var results = await api.Request();

                if (results.status)
                {
                    var data = await results.GetData <JObject>();

                    if (data.code == 0)
                    {
                        var items = JsonConvert.DeserializeObject <ObservableCollection <UserFollowItemModel> >(data.data["list"]?.ToString() ?? "[]");
                        if (Items == null)
                        {
                            Items = items;
                        }
                        else
                        {
                            foreach (var item in items)
                            {
                                Items.Add(item);
                            }
                        }
                        if (Page == 1 && (Items == null || Items.Count == 0))
                        {
                            Nothing = true;
                        }



                        var count = data.data["total"]?.ToInt32() ?? 0;
                        if (Items.Count >= count)
                        {
                            CanLoadMore = false;
                        }
                        else
                        {
                            CanLoadMore = true;
                            Page++;
                        }
                    }
                    else
                    {
                        Utils.ShowMessageToast(data.message);
                    }
                }
                else
                {
                    Utils.ShowMessageToast(results.message);
                }
            }
            catch (Exception ex)
            {
                var handel = HandelError <AnimeHomeModel>(ex);
                Utils.ShowMessageToast(handel.message);
            }
            finally
            {
                Loading = false;
            }
        }