Пример #1
0
        public async Task InitAt(bool isRefresh = false)
        {
            FeedGridView.ItemTemplate = AtItemTemplate;
            FeedGridView.ItemsSource  = AtCollection;
            if (!isRefresh && ((_atCursor != null && _atCursor.is_end) || AtCollection.Count > 0))
            {
                NoDataContainer.Visibility = AtCollection.Count > 0 ? Visibility.Collapsed : Visibility.Visible;
                return;
            }
            if (AtCollection.Count == 0)
            {
                LoadingRing.IsActive = true;
            }
            else
            {
                LoadingBar.Visibility = Visibility.Visible;
            }
            int  time       = _atCursor == null ? 0 : _atCursor.time;
            long id         = _atCursor == null ? 0 : _atCursor.id;
            var  atResponse = await _accService.GetAtMeListAsync(id, time);

            if (atResponse != null)
            {
                _atCursor = atResponse.cursor;
                atResponse.items.ForEach(p => { if (!AtCollection.Contains(p))
                                                {
                                                    AtCollection.Add(p);
                                                }
                                         });
            }
            NoDataContainer.Visibility = AtCollection.Count > 0 ? Visibility.Collapsed : Visibility.Visible;
            LoadingRing.IsActive       = false;
            LoadingBar.Visibility      = Visibility.Collapsed;
        }
Пример #2
0
        public async Task InitReply(bool isRefresh = false)
        {
            FeedGridView.ItemTemplate = ReplyItemTemplate;
            FeedGridView.ItemsSource  = ReplyCollection;
            if (!isRefresh && ((_replyCursor != null && _replyCursor.is_end) || ReplyCollection.Count > 0))
            {
                NoDataContainer.Visibility = ReplyCollection.Count > 0 ? Visibility.Collapsed : Visibility.Visible;
                return;
            }
            if (ReplyCollection.Count == 0)
            {
                LoadingRing.IsActive = true;
            }
            else
            {
                LoadingBar.Visibility = Visibility.Visible;
            }
            int time          = _replyCursor == null ? 0 : _replyCursor.time;
            var replyResponse = await _accService.GetReplyMeListAsync(time);

            if (replyResponse != null)
            {
                _replyCursor = replyResponse.cursor;
                replyResponse.items.ForEach(p => { if (!ReplyCollection.Contains(p))
                                                   {
                                                       ReplyCollection.Add(p);
                                                   }
                                            });
            }
            NoDataContainer.Visibility = ReplyCollection.Count > 0 ? Visibility.Collapsed : Visibility.Visible;
            LoadingRing.IsActive       = false;
            LoadingBar.Visibility      = Visibility.Collapsed;
        }
Пример #3
0
        public async Task InitLike(bool isRefresh = false)
        {
            FeedGridView.ItemTemplate = LikeItemTemplate;
            FeedGridView.ItemsSource  = LikeCollection;
            if (!isRefresh && ((_likeCursor != null && _likeCursor.is_end) || LikeCollection.Count > 0))
            {
                NoDataContainer.Visibility = LikeCollection.Count > 0 ? Visibility.Collapsed : Visibility.Visible;
                return;
            }
            if (LikeCollection.Count == 0)
            {
                LoadingRing.IsActive = true;
            }
            else
            {
                LoadingBar.Visibility = Visibility.Visible;
            }
            long id           = _likeCursor == null ? 0 : _likeCursor.id;
            int  time         = _likeCursor == null ? 0 : _likeCursor.time;
            var  likeResponse = await _accService.GetLikeMeListAsync(id, time);

            if (likeResponse != null)
            {
                if (likeResponse.latest != null && likeResponse.latest.items != null && likeResponse.latest.items.Count > 0)
                {
                    likeResponse.latest.items.ForEach(p => { p.is_latest = true; LikeCollection.Add(p); });
                }
                if (likeResponse.total != null)
                {
                    _likeCursor = likeResponse.total.cursor;
                    if (likeResponse.total.items != null && likeResponse.total.items.Count > 0)
                    {
                        likeResponse.total.items.ForEach(p => { p.is_latest = false; LikeCollection.Add(p); });
                    }
                }
            }
            NoDataContainer.Visibility = LikeCollection.Count > 0 ? Visibility.Collapsed : Visibility.Visible;
            LoadingRing.IsActive       = false;
            LoadingBar.Visibility      = Visibility.Collapsed;
        }
Пример #4
0
        public void Reset()
        {
            if (HeaderCollection.Count == 0)
            {
                var headers = IconItem.GetMessageHeaderItems();
                headers.ForEach(p => HeaderCollection.Add(p));
            }
            else
            {
                foreach (var header in HeaderCollection)
                {
                    header.Param = "";
                }
            }
            ReplyCollection.Clear();
            AtCollection.Clear();
            LikeCollection.Clear();
            LoadingRing.IsActive       = false;
            NoDataContainer.Visibility = Visibility.Collapsed;

            _replyCursor = null;
            _likeCursor  = null;
            _atCursor    = null;
        }