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]); } }
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]); } }