Exemple #1
0
                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));
                }
Exemple #2
0
        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;
        }
Exemple #5
0
            /// <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);
            }
        }
Exemple #8
0
            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);
                    }
                }
            }
        }