Beispiel #1
0
        private async void UpdateMessages()
        {
            var convo = await _store.GetConversationAsync(_conversationid);

            if (convo == null)
            {
                DropEvents();
                return;
            }

            var reader   = convo.GetMessageReader();
            var messages = await reader.ReadBatchAsync();

            var currindex = ChatMessages.Count();

            foreach (var message in messages)
            {
                if (ChatMessages.Any(x => x.messageId == message.Id))
                {
                    break;
                }

                if (currindex > ChatMessages.Count())
                {
                    currindex = ChatMessages.Count();
                }

                await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                              () =>
                {
                    try
                    {
                        ChatMessages.Insert(currindex, new ChatMessageViewControl(message.Id));
                    }
                    catch
                    {
                    }
                });
            }
        }