コード例 #1
0
        protected override async Task LoadMoreDataFromWeb()
        {
            var msgs    = new List <IDirectMessageModel>();
            var options = Const.GetDictionary();
            var maxId   = StorageService.GetSendDirectMessageMaxId();

            if (maxId != null)
            {
                options.Add(Const.MAX_ID, maxId);
            }
            var sendMsgs = await messageController.SentAsync(options);

            if (sendMsgs != null && sendMsgs.Count() != 0)
            {
                msgs.AddRange(sendMsgs);
            }
            options.Clear();
            maxId = StorageService.GetReceivedDirectMessageMaxId();
            if (maxId != null)
            {
                options.Add(Const.MAX_ID, maxId);
            }
            var receivedMsgs = await messageController.ReceivedAsync(options);

            if (receivedMsgs != null && receivedMsgs.Count() != 0)
            {
                msgs.AddRange(receivedMsgs);
            }
            StorageService.AddCachedDirectMessages(msgs);
            int skip = Items.Count;
            var list = StorageService.GetGroupedDirectMessages();

            if (list != null && list.Count != 0)
            {
                Items.Clear();
                foreach (var item in list)
                {
                    Items.Add(item);
                }
                listbox.ScrollTo(Items[Items.Count - 1]);
            }
        }
コード例 #2
0
        protected override async Task FetchMoreDataFromWeb()
        {
            var msgs    = new List <IDirectMessageModel>();
            var options = Const.GetDictionary();
            var sinceId = StorageService.GetSendDirectMessageSinceId();

            if (sinceId != null)
            {
                options.Add(Const.SINCE_ID, sinceId);
            }
            var sendMsgs = await messageController.SentAsync(options);

            if (sendMsgs != null && sendMsgs.Count() != 0)
            {
                msgs.AddRange(sendMsgs);
            }
            options.Clear();
            sinceId = StorageService.GetReceivedDirectMessageSinceId();
            if (sinceId != null)
            {
                options.Add(Const.SINCE_ID, sinceId);
            }
            var receivedMsgs = await messageController.ReceivedAsync(options);

            if (receivedMsgs != null && receivedMsgs.Count() != 0)
            {
                msgs.AddRange(receivedMsgs);
            }
            StorageService.AddCachedDirectMessages(msgs);
            var list = StorageService.GetGroupedDirectMessages();

            if (list != null && list.Count != 0)
            {
                Items.Clear();
                foreach (var item in list.OrderBy(m => m.Id))
                {
                    Items.Insert(0, item);
                }
                listbox.ScrollTo(Items[0]);
            }
        }