public override void OnNavigatedTo(INavigationParameters parameters) { if (parameters.ContainsKey("nav")) { UserProfile = parameters.GetValue <User>("nav"); Username = UserProfile.Username; Avatar = UserProfile.Avatar; Id = UserProfile.Id; Email = UserProfile.Email; } if (parameters.ContainsKey("navFromChatList")) { UserFromChatList = parameters.GetValue <DisplayChat>("navFromChatList"); Username = UserFromChatList.Name; Email = UserFromChatList.Email; Avatar = UserFromChatList.Avatar; Id = UserFromChatList.Id; } MainThread.BeginInvokeOnMainThread(async() => { var profilepic = await remoteService.GetProfilePicture(Username); if (profilepic != null) { Avatar = profilepic.Avatar; Status = profilepic.Status; } }); }
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); } } } } }