public StickerControl(ConversationBoxControl conversationControl, string source) { InitializeComponent(); ConversationControl = conversationControl; Source = source; ImageBehavior.SetAnimatedSource(StickerContent, Ultilities.ConvertBase64StringToBitmapImage(source)); }
public void LoadChange(KeyValuePair <string, ConversationModel> model) { // update model this.Model = model; // Load conversation avatar this.ConversationAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Value.Avatar); // Load conversation title this.ConversationTitle.Text = model.Value.Title; // Load new recived messages var messages = model.Value.Messages.Where(m => m.Value.SendTime > this.LoadedTime && m.Value.UserID != Service.UserID) .OrderBy(m => m.Value.SendTime) .ToDictionary(m => m.Key, m => m.Value); if (messages.Count > 0) { foreach (var message in messages) { this.MessageContainer1.Children.Add(new ReceivedMessageControl(message)); } } // change seen time this.LoadedTime = model.Value.ChangedTime; ConversationService.ChangeMemberSeenTime(Model.Key, Service.UserID, this.LoadedTime); this.ConversationScrollContainer.ScrollToEnd(); //this.Loading.Visibility = Visibility.Collapsed; }
public void LoadChange(KeyValuePair <string, ConversationModel> model) { // update model this.Model = model; // update loaded time this.LoadedTime = DateTime.Now; // Load conversation avatar this.ConversationAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Value.Avatar); // Load conversation title this.ConversationTitle.Text = model.Value.Title; // Load new recived messages var messages = model.Value.Messages.Where(m => m.Value.SendTime > this.LoadedTime && m.Value.UserID != Service.UserID) .OrderBy(m => m.Value.SendTime) .ToDictionary(m => m.Key, m => m.Value); if (messages.Count > 0) { foreach (var message in messages) { this.MessageContainer1.Children.Add(new ReceivedMessageControl(message)); } } }
public void Load() { if (Model != null) { UserAvatarImage.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Avatar); UserAvatarBorder.ToolTip = new ToolTip() { Content = Model.Fullname }; } }
public void Load() { if (Model.Value != null) { ConversationInvitationModel content = Newtonsoft.Json.JsonConvert.DeserializeObject <ConversationInvitationModel>(Model.Value.Content.ToString()); UserModel fromUser = UserService.GetUserById(content.FromUserID); this.FromUserAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(fromUser.Avatar); this.ContentText.Text = "You have received an invitation to join the conversation by " + fromUser.Fullname; } }
private void OnAsyns() { //new Thread(new ThreadStart(() => //{ //})).Start(); Service.Client.OnAsync( path: "Conversations/" + Model.Key, changed: (sender, args, context) => { if (args.Path == "/Title") { this.Dispatcher.Invoke(() => { this.ConversationTitle.Text = args.Data; }); } else if (args.Path == "/Avatar") { this.Dispatcher.Invoke(() => { this.ConversationAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(args.Data); }); } else if (args.Path == "/ChangedTime" && IsShowing == false) { this.Dispatcher.Invoke(() => { Model = ConversationService.GetConversationById(Model.Key); Load(); }); } else if (args.Path == "/Members/" + Service.UserID + "/SeenTime") { this.Dispatcher.Invoke(() => { Model = ConversationService.GetConversationById(Model.Key); Load(); }); } } ); }
public void Load() { if (Model.Value != null) { // avatar this.ConversationAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Value.Avatar); // unseen messages var user = Model.Value.Members.Where(m => m.Key == Service.UserID).FirstOrDefault(); var unSeenMessages = Model.Value.Messages.Where(m => m.Value.SendTime > user.Value.SeenTime).ToDictionary(m => m.Key, m => m.Value); if (unSeenMessages != null && unSeenMessages.Count > 0) { // unsent message count this.ConversationUnReadMessageCountBorder.Visibility = Visibility.Visible; this.ConversationUnReadMessageCount.Text = unSeenMessages.Count().ToString(); // last message content var lastMessage = unSeenMessages.Last(); if (!string.IsNullOrEmpty(lastMessage.Value.Text)) { this.ConversationLastMessage.Text = lastMessage.Value.Text; } else { if (!string.IsNullOrEmpty(lastMessage.Value.Sticker)) { this.ConversationLastMessage.Text = "Sticker..."; } } this.ConversationTitle.FontWeight = FontWeights.Bold; } else { this.ConversationUnReadMessageCountBorder.Visibility = Visibility.Hidden; this.ConversationTitle.FontWeight = FontWeights.Regular; this.ConversationLastMessage.Text = Model.Value.Messages.Last().Value.Text == null ? "" : Model.Value.Messages.Last().Value.Text; } // title this.ConversationTitle.Text = Model.Value.Title; } }
public void Load() { if (Model.Value != null) { FullName.Text = Model.Value.Fullname; Avatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Value.Avatar); if (Status == MemberModel.Statuses.Joined) { InviteButton.Content = "Joined"; InviteButton.IsEnabled = false; } else if (Status == MemberModel.Statuses.Invited) { InviteButton.Content = "invited"; InviteButton.IsEnabled = false; } } }
public MessageStickerControl(string source) { InitializeComponent(); ImageBehavior.SetAnimatedSource(Sticker, Ultilities.ConvertBase64StringToBitmapImage(source)); }
public void Load() { if (Model.Value != null) { // Load danh sách tạm user để tăng hiệu suất load thông tin user đang nhập văn bản this.UserInfors = ConversationService.GetUsersOfConversation(Model.Key); // Load conversation avatar this.ConversationAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Value.Avatar); // Load conversation title this.ConversationTitle.Text = Model.Value.Title; // Load messages this.MessageContainer1.Children.Clear(); foreach (var message in Model.Value.Messages.OrderBy(m => m.Value.SendTime)) { if (message.Value.UserID == "SYS") { this.MessageContainer1.Children.Add(new SystemMesageControl(message)); } else if (message.Value.UserID == UserService.UserID) { this.MessageContainer1.Children.Add(new SentMessageControl(message)); } else { this.MessageContainer1.Children.Add(new ReceivedMessageControl(message)); } } // Load system emojis if (SystemValues.Emojis != null) { foreach (var emoji in SystemValues.Emojis) { SystemEmojisContainer.Children.Add(new EmojiControl(this, emoji)); } } // Load system stickers if (SystemValues.Stickers != null) { foreach (var sticker in SystemValues.Stickers) { SystemStickerContainer.Children.Add(new StickerControl(this, sticker)); } } // change seen time this.LoadedTime = Model.Value.ChangedTime; ConversationService.ChangeMemberSeenTime(Model.Key, Service.UserID, this.LoadedTime); OnAsyns(); this.ConversationScrollContainer.ScrollToEnd(); //this.Loading.Visibility = Visibility.Collapsed; } }
public void Load() { if (!string.IsNullOrEmpty(ConversationID)) { Model = ConversationService.GetConversationById(ConversationID); } if (Model.Value != null) { // Load danh sách tạm user để tăng hiệu suất load thông tin user đang nhập văn bản this.UserInfors = ConversationService.GetUsersOfConversation(Model.Key); // Load conversation avatar this.ConversationAvatar.ImageSource = Ultilities.ConvertBase64StringToBitmapImage(Model.Value.Avatar); // Load conversation title this.ConversationTitle.Text = Model.Value.Title; // Load messages this.MessageContainer1.Children.Clear(); foreach (var message in Model.Value.Messages.OrderBy(m => m.Value.SendTime)) { if (message.Value.UserID == "SYS") { this.MessageContainer1.Children.Add(new SystemMesageControl(message)); } else if (message.Value.UserID == UserService.UserID) { this.MessageContainer1.Children.Add(new SentMessageControl(message)); } else { this.MessageContainer1.Children.Add(new ReceivedMessageControl(message)); } } // Load system emojis if (SystemValues.Emojis != null) { foreach (var emoji in SystemValues.Emojis) { SystemEmojisContainer.Children.Add(new EmojiControl(this, emoji)); } } // Load system stickers if (SystemValues.Stickers != null) { foreach (var sticker in SystemValues.Stickers) { SystemStickerContainer.Children.Add(new StickerControl(this, sticker)); } } this.LoadedTime = DateTime.Now; } OnAsyns(); }