private void PAGE_CHAT_Loaded(object sender, RoutedEventArgs e) { Lb_Chat.Items.Clear(); while (state == true) { client.LoadChat(_selectedChat.Id); state2 = true; while (state2 == true) { while (client.IsDone == true) { ChatList = client.LoadinChat(); foreach (var item in ChatList) { TextBlock txtBlock = new TextBlock(); txtBlock.TextWrapping = TextWrapping.Wrap; txtBlock.Text = $"{item.SendDate}: {item.Username}: {item.Text}"; Lb_Chat.Items.Add(txtBlock); } ChatList.Clear(); client.ClearList(); state2 = false; state = false; client.IsDone = false; } } } Task task = Task.Run((Action)CheckForUpdate); }
// this method will deserialize chat json string public static void DeserializeChat(string json) { // first clear the List of Chats ChatList.Clear(); JArray jarr = JArray.Parse(json); // get the results fragment of the json as a list of JTokens List <JToken> results = jarr.Children().ToList(); // populate the list foreach (JToken result in results) { Chat chat = result.ToObject <Chat>(); ChatList.Add(chat); } }
private async void RetrieveMessage() { IsBusy = true; var chats = await remoteService.RetrieveMessage(); chats.Reverse(); ChatUsernameList.Clear(); ChatList.Clear(); IsBusy = false; foreach (var item in chats) { if (item.SenderId == Settings.KeySettings) { var chat = new DisplayChat() { Name = item.Receiver, Id = item.ReceiverId, //Email = item.ReceiverEmail, Message = item.Message, Avatar = item.ReceiverAvatar }; if (ChatUsernameList.Count == 0 && ChatList.Count == 0) { ChatUsernameList.Add(item.Receiver); ChatList.Add(chat); } else { if (!ChatUsernameList.Contains(item.Receiver)) { ChatUsernameList.Add(item.Receiver); ChatList.Add(chat); } } } else if (item.ReceiverId == Settings.KeySettings) { var chat = new DisplayChat() { Name = item.Sender, Id = item.SenderId, //Email = item.SenderEmail, Message = item.Message, Avatar = item.SenderAvatar }; if (ChatUsernameList.Count == 0 && ChatList.Count == 0) { ChatUsernameList.Add(item.Sender); ChatList.Add(chat); } else { if (!ChatUsernameList.Contains(item.Sender)) { ChatUsernameList.Add(item.Sender); ChatList.Add(chat); } } } } }