public override BaseChatDataItem CreateDataItem(ChatMessage message) { ChatTextMessage textMessage = message as ChatTextMessage; if (textMessage != null) { return(new TextMessageDataItem(textMessage)); } ChatMediaMessage mediaMessage = message as ChatMediaMessage; if (mediaMessage != null) { return(new MediaMessageDataItem(mediaMessage)); } ChatCardMessage cardMessage = message as ChatCardMessage; if (cardMessage != null) { return(new CardMessageDataItem(cardMessage)); } ChatCarouselMessage carouselMessage = message as ChatCarouselMessage; if (carouselMessage != null) { return(new CarouselMessageDataItem(carouselMessage)); } return(base.CreateDataItem(message)); }
public virtual BaseChatDataItem CreateDataItem(ChatMessage message) { ChatTextMessage message1 = message as ChatTextMessage; if (message1 != null) { return((BaseChatDataItem) new TextMessageDataItem(message1)); } ChatMediaMessage message2 = message as ChatMediaMessage; if (message2 != null) { return((BaseChatDataItem) new MediaMessageDataItem(message2)); } ChatCardMessage message3 = message as ChatCardMessage; if (message3 != null) { return((BaseChatDataItem) new CardMessageDataItem(message3)); } ChatCarouselMessage message4 = message as ChatCarouselMessage; if (message4 != null) { return((BaseChatDataItem) new CarouselMessageDataItem(message4)); } return((BaseChatDataItem)null); }
public void ReceiveMediaMessage(ChatDataModel.ChatMessage message) { var stream = GoogleDriveFilesRepository.DownloadFile(message.ImageMessageDriveID); var img = Image.FromStream(stream); var displayImage = ResizeImagePercentage(img); ChatMediaMessage mess = new ChatMediaMessage(displayImage, displayImage.Size, null, authorFriend, message.TimeSend); _rcChatlog.AddMessage(mess); }
public void LoadHistory() { foreach (var item in messages) { if (item.ImageMessageDriveId != "") { var download = GoogleDriveFilesRepository.DownloadFile(item.ImageMessageDriveId); var img = ResizeImagePercentage(Image.FromStream(download)); if (item.Sender == _me.Email) { ChatMediaMessage mess = new ChatMediaMessage(img, img.Size, "", _authorMe, item.TimeSend); _radchatChatGroup.AddMessage(mess); } else if (item.Sender != _me.Email) { Author auth; if (_authorFriends.TryGetValue(item.Sender, out auth)) { ChatMediaMessage mess = new ChatMediaMessage(img, img.Size, "", auth, item.TimeSend); _radchatChatGroup.AddMessage(mess); } else { Author author = new Author(null, item.Sender); ChatMediaMessage mess = new ChatMediaMessage(img, img.Size, "", author, item.TimeSend); _radchatChatGroup.AddMessage(mess); } } } else if (item.Message != "") { if (item.Sender == _me.Email) { ChatTextMessage mess = new ChatTextMessage(item.Message, _authorMe, item.TimeSend); _radchatChatGroup.AddMessage(mess); } else if (item.Sender != _me.Email) { Author auth; if (_authorFriends.TryGetValue(item.Sender, out auth)) { ChatTextMessage mess = new ChatTextMessage(item.Message, auth, item.TimeSend); _radchatChatGroup.AddMessage(mess); } else { Author author = new Author(null, item.Sender); ChatTextMessage mess = new ChatTextMessage(item.Message, author, item.TimeSend); _radchatChatGroup.AddMessage(mess); } } } } _isLoadHistory = true; }
/// <summary> /// example of adding message with image /// </summary> /// <param name="radchat"></param> public void mediaMsg(RadChat radchat) { Author author2 = new Author(adminImg4.ToImage(), "Nancy"); RadCHAT.Author = author2; string Image = @"C:\Users\jason\OneDrive\Pictures\MEMES\Memes\IMG_5202.JPG"; ChatMediaMessage mediaMessage = new ChatMediaMessage(Image.ToImage(), new Size(300, 600), null, RadCHAT.Author, DateTime.Now); radchat.AddMessage(mediaMessage); }
public void ReceiveTextMessage(ChatDataModel.ChatMessage message) { if (!string.IsNullOrEmpty(message.ImageMessageDriveID)) { var stream = GoogleDriveFilesRepository.DownloadFile(message.ImageMessageDriveID); var img = Image.FromStream(stream); ChatMediaMessage mess = new ChatMediaMessage(img, new Size(128, 128), null, authorFriend, message.TimeSend); _rcChatlog.AddMessage(mess); return; } else { ChatTextMessage mess = new ChatTextMessage(message.Message, authorFriend, message.TimeSend); _rcChatlog.AddMessage(mess); } }
private void ShowToolbarButtonElement_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = "Choose Image"; dialog.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif"; if (dialog.ShowDialog() == DialogResult.OK) { string path = dialog.InitialDirectory + @"\" + dialog.FileName; var fileID = GoogleDriveFilesRepository.UploadFile(path.Substring(1)); _client.SendGroupMessage(new ChatGroupMessage(_me.Email, _group.Id, "", fileID, DateTime.Now)); var displayImage = Image.FromFile(Path.Combine(dialog.InitialDirectory, dialog.FileName)); var displayImageResize = ResizeImagePercentage(displayImage); ChatMediaMessage message = new ChatMediaMessage(displayImageResize, displayImageResize.Size, null, _authorMe, DateTime.Now); _radchatChatGroup.AddMessage(message); } }
public void radChat_ToolbarActionClicked(object sender, ToolbarActionEventArgs e) { ToolbarActionDataItem action = e.DataItem; if (action.UserData + "" == "image") { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open Image"; dlg.Filter = "png files (*.png)|*.png"; if (dlg.ShowDialog() == DialogResult.OK) { Image img = Image.FromFile(dlg.FileName); ChatMediaMessage mediaMessage = new ChatMediaMessage(img, new Size(300, 200), null, RadCHAT.Author, DateTime.Now); RadCHAT.AddMessage(mediaMessage); } dlg.Dispose(); } }
public void ReceiveMessage(ChatGroupMessage message) { Author auth; if (!_authorFriends.TryGetValue(message.Sender, out auth)) { return; } if (message.Message != "") { var mess = new ChatTextMessage(message.Message, auth, message.TimeSend); _radchatChatGroup.AddMessage(mess); } else if (message.ImageMessageDriveId != "") { var download = GoogleDriveFilesRepository.DownloadFile(message.ImageMessageDriveId); var image = Image.FromStream(download); var displayImage = ResizeImagePercentage(image); var mess = new ChatMediaMessage(displayImage, displayImage.Size, null, auth, message.TimeSend); _radchatChatGroup.AddMessage(mess); } }
public MediaMessageDataItem(ChatMediaMessage message) : base((ChatMessage)message) { this.message = message; }
public void AddMessageHistory() { var me = Util.Instance.CurrentUser.Email; foreach (var item in AllMessage) { if (item.ImageMessageDriveID != "") { var image = GoogleDriveFilesRepository.DownloadFile(item.ImageMessageDriveID); var displayImage = ResizeImagePercentage(Image.FromStream(image)); if (item.Sender == me) { ChatMediaMessage message = new ChatMediaMessage(displayImage, displayImage.Size, null, authorMe, item.TimeSend); _rcChatlog.AddMessage(message); } else { ChatMediaMessage message = new ChatMediaMessage(displayImage, displayImage.Size, null, authorFriend, item.TimeSend); _rcChatlog.AddMessage(message); } } else if (item.Message != "") { if (item.Sender == me) { ChatTextMessage message = new ChatTextMessage(item.Message, authorMe, item.TimeSend); _rcChatlog.AddMessage(message); } else { ChatTextMessage message = new ChatTextMessage(item.Message, authorFriend, item.TimeSend); _rcChatlog.AddMessage(message); } } else if (item.Call != null) { var tittle = ""; if (item.Call.Called) { tittle = "Cuộc gọi"; } else { tittle = "Cuộc gọi nhỡ"; } List <ChatCardAction> actions = new List <ChatCardAction>(); actions.Add(new ChatCardAction("Call")); if (item.Sender == me) { ChatImageCardDataItem card = new ChatImageCardDataItem(null, tittle, "bạn & " + authorFriend.Name, TimeSpan.FromSeconds(item.Call.Duration).ToString(@"mm\:ss"), actions, item.Receiver); ChatCardMessage message = new ChatCardMessage(card, authorMe, item.TimeSend); _rcChatlog.AddMessage(message); } else { ChatImageCardDataItem card = new ChatImageCardDataItem(null, tittle, "bạn & " + authorFriend.Name, TimeSpan.FromSeconds(item.Call.Duration).ToString(@"mm\:ss"), actions, item.Sender); ChatCardMessage message = new ChatCardMessage(card, authorFriend, item.TimeSend); _rcChatlog.AddMessage(message); } } } }