Пример #1
0
        // <summary>
        // </summary>
        /// <summary>
        /// </summary>
        /// <param name="text">
        /// </param>
        /// <exception cref="NotImplementedException">
        /// </exception>
        public void SendChatText(string text)
        {
            ChatTextMessage chatTextMessage = new ChatTextMessage();

            chatTextMessage.Text = text;
            this.SendCompressed(chatTextMessage);
        }
Пример #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);
        }
Пример #3
0
        public async Task ExecuteAsync(RequestTutorCommand message, CancellationToken token)
        {
            Tutor?tutor = null;

            if (message.TutorId.HasValue)
            {
                if (message.UserId == message.TutorId.Value)
                {
                    throw new ArgumentException("You cannot request tutor to yourself");
                }
                tutor = await _tutorRepository.LoadAsync(message.TutorId.Value, token);
            }

            var user = await _userRepository.LoadAsync(message.UserId, token);

            var lead = new Lead(message.Course, message.LeadText,
                                message.Referer, user,
                                tutor, message.UtmSource);
            await _leadRepository.AddAsync(lead, token);

            var tutorsIds = new List <long>();

            if (message.MoreTutors)
            {
                var needToSendToMoreTutors = await _leadRepository.NeedToSendMoreTutorsAsync(message.UserId, token);

                if (needToSendToMoreTutors)
                {
                    var t = await _tutorRepository.GetTutorsByCourseAsync(message.Course, message.UserId, user.Country,
                                                                          token);

                    tutorsIds.AddRange(t);
                }
            }

            if (tutor != null)
            {
                tutorsIds.Add(tutor.Id);
            }

            foreach (var userId in tutorsIds.Distinct())
            {
                var users    = new[] { userId, message.UserId };
                var chatRoom = await _chatRoomRepository.GetOrAddChatRoomAsync(users, token);

                if (chatRoom.Extra == null)
                {
                    chatRoom.Extra = new ChatRoomAdmin(chatRoom);
                }
                chatRoom.Extra.Lead = lead;

                await _chatRoomRepository.UpdateAsync(chatRoom, token);

                var chatMessage = new ChatTextMessage(user, message.ChatText, chatRoom);
                chatRoom.AddMessage(chatMessage);
                await _chatRoomRepository.UpdateAsync(chatRoom, token);

                await _chatMessageRepository.AddAsync(chatMessage, token);
            }
        }
 // Token: 0x0600C49B RID: 50331 RVA: 0x00366CE0 File Offset: 0x00364EE0
 public void UpdateChatInfo(ChatComponent.ChatMessageClient chatInfo)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_UpdateChatInfoChatMessageClient_hotfix != null)
     {
         this.m_UpdateChatInfoChatMessageClient_hotfix.call(new object[]
         {
             this,
             chatInfo
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     base.gameObject.SetActive(true);
     if (chatInfo.ChatMessageInfo.ChatContentType == ChatContentType.Text)
     {
         ChatTextMessage chatTextMessage = chatInfo.ChatMessageInfo as ChatTextMessage;
         this.ContentText.text = chatTextMessage.Text;
     }
     else if (chatInfo.ChatMessageInfo.ChatContentType == ChatContentType.EnterRoomInfo)
     {
         ChatEnterRoomMessage chatEnterRoomMessage = chatInfo.ChatMessageInfo as ChatEnterRoomMessage;
         IConfigDataLoader    configDataLoader     = GameManager.Instance.ConfigDataLoader as IConfigDataLoader;
         this.ContentText.text = string.Format(configDataLoader.UtilityGetStringByStringTable(StringTableId.StringTableId_Chat_EnterWorldRoom), chatEnterRoomMessage.RoomId + 1, this.FakePlayerCount(chatEnterRoomMessage.PlayerCount));
     }
 }
Пример #5
0
        public async Task ExecuteAsync(SendChatTextMessageCommand message, CancellationToken token)
        {
            //var users = message.ToUsersId.ToList();
            //users.Add(message.UserSendingId);
            var users = new[] { message.ToUsersId, message.UserSendingId };

            var chatRoom = await _chatRoomRepository.GetChatRoomAsync(users, token);

            if (chatRoom == null)
            {
                var userSending = await _userRepository.LoadAsync(message.UserSendingId, token);

                var userReceiving = await _userRepository.LoadAsync(message.ToUsersId, token);

                if (userReceiving.Tutor == null)
                {
                    throw new ArgumentException("sending a message not to tutor");
                }
                chatRoom = new ChatRoom(new List <User>()
                {
                    userSending, userReceiving
                });
                await _chatRoomRepository.AddAsync(chatRoom, token);
            }

            var user = _userRepository.Load(message.UserSendingId);

            var chatMessage = new ChatTextMessage(user, message.Message, chatRoom);

            chatRoom.AddMessage(chatMessage);
            await _chatRoomRepository.UpdateAsync(chatRoom, token);

            await _chatMessageRepository.AddAsync(chatMessage, token); // need this in order to get id from nhibernate
        }
Пример #6
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));
                }
Пример #7
0
        private void SaveMessage(object sender, SendMessageEventArgs e)
        {
            ChatTextMessage textMessage = e.Message as ChatTextMessage;

            new MessageToDB().Save(textMessage);

            lastMessageID++;
        }
Пример #8
0
            /// <summary>
            /// Modify User's Send Text Before Posting
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public void SendMessage(object sender, SendMessageEventArgs e)
            {
                ChatTextMessage textMessage = e.Message as ChatTextMessage;

                //textMessage.Message = "[Slightly changed message] " + textMessage.Message;  // add prefix to user message on sending
                textMessage.Message = textMessage.Message;  // no alteration to user message on sending
                RadCHAT.AddMessage(textMessage);
            }
Пример #9
0
        public void Execute(IChatCommand command, object parameter = null)
        {
            var messageCommand = command as MessageCommand;
            var list           = parameter as ICollection <ChatMessage>;

            var message = new ChatTextMessage(messageCommand.Message.Author.Nickname, messageCommand.Message.Content);

            list.Add(message);
        }
        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;
        }
Пример #11
0
 private ChatMessageDto BuildChatMessage(ChatTextMessage chatMessage)
 {
     return(new ChatTextMessageDto
     {
         UserId = chatMessage.User.Id,
         Text = chatMessage.Message,
         DateTime = DateTime.UtcNow,
         Name = chatMessage.User.Name,
         Image = _urlBuilder.BuildUserImageEndpoint(chatMessage.User.Id, chatMessage.User.ImageName)
     });
 }
Пример #12
0
        /// <summary>
        /// </summary>
        /// <param name="text">
        /// </param>
        /// <returns>
        /// </returns>
        public bool dSendChatText(string text)
        {
            // TODO: remove it here, transfer it to Character class and let it publish it on playfield bus
            var message = new ChatTextMessage
            {
                Identity = this.Character.Identity,
                Unknown  = 0x00,
                Text     = text,
                Unknown1 = 0x1000,
                Unknown2 = 0x00000000
            };

            this.SendCompressed(message);
            return(true);
        }
Пример #13
0
            public void CustomMessage(RadChat radchat)
            {
                radchat.ChatElement.ChatFactory = new MyChatFactory();
                radchat.Author = new Author(adminImg2.ToImage(), "Nancy");
                Author          author2  = new Author(adminImg3.ToImage(), "Andrew");
                ChatTextMessage message1 = new ChatTextMessage("Hello", author2, DateTime.Now.AddHours(1));

                radchat.AddMessage(message1);
                ChatTextMessage message2 = new ChatTextMessage("Hi", radchat.Author, DateTime.Now.AddHours(1).AddMinutes(10));

                radchat.AddMessage(message2);
                ChatTextMessage message3 = new ChatTextMessage("We would like to announce that in the R2 2018 release we introduced Conversational UI", author2, DateTime.Now.AddHours(3));

                radchat.AddMessage(message3);
            }
Пример #14
0
        public List <ChatTextMessage> GetMessages(int lastMessageID, Author selfAuthor)
        {
            List <ChatTextMessage> messageList = new List <ChatTextMessage>();

            string connStr = "server=baltika.mysql.database.azure.com;user=sailor@baltika;database=smartfactory;password=Baltika123;charset=utf8;";

            MySqlConnection conn = new MySqlConnection(connStr);

            string query = String.Format("SELECT `userID`, `name`, `text`, `date` FROM `chat` WHERE id >= {0}",
                                         lastMessageID.ToString());

            try
            {
                conn.Open();
                MySqlCommand    command = new MySqlCommand(query, conn);
                MySqlDataReader reader  = command.ExecuteReader();

                while (reader.Read())
                {
                    int    UserId = int.Parse(reader[0].ToString());
                    string name   = reader[1].ToString();
                    string text   = reader[2].ToString();
                    Console.WriteLine(reader[0].ToString() + " " + reader[1].ToString());

                    DateTime date    = DateTime.Parse(reader[3].ToString());
                    DateTime dateNow = System.TimeZoneInfo.ConvertTimeFromUtc(date, System.TimeZoneInfo.Local);

                    Author author = author = new Author(Properties.Resources.avatar, name);

                    if (UserId == User.ID)
                    {
                        author = selfAuthor;
                    }

                    ChatTextMessage message = new ChatTextMessage(text, author, dateNow);

                    messageList.Add(message);
                }

                conn.Close();
                return(messageList);
            }
            catch
            {
                MessageBox.Show("Проверьте подключение к интернету.");
                return(messageList);
            }
        }
 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);
     }
 }
Пример #16
0
    public static int get_SystemContentTemplateId(IntPtr l)
    {
        int result;

        try
        {
            ChatTextMessage chatTextMessage = (ChatTextMessage)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, chatTextMessage.SystemContentTemplateId);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Пример #17
0
    public static int constructor(IntPtr l)
    {
        int result;

        try
        {
            ChatTextMessage o = new ChatTextMessage();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Пример #18
0
        //private void AddMessageProgrammatically()
        //{
        //    this.radChat1.AutoAddUserMessages = false;
        //    this.radChat1.SendMessage += radChat1_SendMessage;
        //}
        private void radChat1_SendMessage(object sender, SendMessageEventArgs e)
        {
            ChatTextMessage textMessage = e.Message as ChatTextMessage;

            //ChatTextMessage message1 = new ChatTextMessage("Hello", author2, DateTime.Now.AddHours(1));
            //this.radChat1.AddMessage(message1);


            //textMessage.Message = textMessage.Message;
            if (textMessage.Message == "السلام عليكم")
            {
                Author author2 = new Author(Properties.Resources.icons8_Email_Send_32, "Andrew");

                ChatTextMessage message3 = new ChatTextMessage("عليكم السلام", author2, DateTime.Now);
                this.radChat1.AddMessage(message3);
            }
            //this.radChat1.AddMessage(textMessage);
        }
Пример #19
0
    public static int set_Text(IntPtr l)
    {
        int result;

        try
        {
            ChatTextMessage chatTextMessage = (ChatTextMessage)LuaObject.checkSelf(l);
            string          text;
            LuaObject.checkType(l, 2, out text);
            chatTextMessage.Text = text;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Пример #20
0
            /// <summary>
            /// Example of adding messages from  this user and other user
            /// </summary>
            /// <param name="radchat"></param>
            public void addmessages(RadChat radchat)
            {
                Author author2 = new Author(adminImg2.ToImage(), "Nancy");
                Author author3 = new Author(adminImg3.ToImage(), "Andrew");

                radchat.Author = author3;  // assigns who the "This Sender" author is

                ChatTextMessage message1 = new ChatTextMessage("Hello", author2, DateTime.Now.AddHours(1));

                radchat.AddMessage(message1);

                ChatTextMessage message2 = new ChatTextMessage("Hi", author3, DateTime.Now.AddHours(1).AddMinutes(10));

                radchat.AddMessage(message2);

                ChatTextMessage message3 = new ChatTextMessage("How are you?", author2, DateTime.Now.AddHours(3));

                radchat.AddMessage(message3);
            }
Пример #21
0
        public main3()
        {
            InitializeComponent();


            this.radChat1.Author = new Author(Properties.Resources.Online_32, "Nancy");

            this.radChat1.ChatElement.ChatFactory = new CustomChatFactory();

            Author          author2  = new Author(Properties.Resources.Online_32, "Andrew");
            ChatTextMessage message1 = new ChatTextMessage("Hello", author2, DateTime.Now.AddHours(1));

            this.radChat1.AddMessage(message1);
            ChatTextMessage message2 = new ChatTextMessage("Hi", this.radChat1.Author, DateTime.Now.AddHours(1).AddMinutes(10));

            this.radChat1.AddMessage(message2);
            ChatTextMessage message3 = new ChatTextMessage("We would like to announce that in the R2 2018 release " +
                                                           "we introduced Conversational UI", author2, DateTime.Now.AddHours(3));

            this.radChat1.AddMessage(message3);
            ChatTextMessage message4 = new ChatTextMessage("This control provides rich conversational experience " +
                                                           "that goes beyond the natural language understanding and " +
                                                           "personality of your chatbot.", author2, DateTime.Now.AddHours(3));

            this.radChat1.AddMessage(message4);


            //this.radChat1.ChatElement.MessagesViewElement.TimeSeparatorInterval = TimeSpan.FromHours(1);


            //this.radChat1.Author = new Author(Properties.Resources.icons8_Call_32, "Nancy");
            //Author author2 = new Author(Properties.Resources.icons8_Attach_321, "Andrew");

            //ChatTextMessage message1 = new ChatTextMessage("Hello", author2, DateTime.Now.AddHours(1));
            //this.radChat1.AddMessage(message1);

            //ChatTextMessage message2 = new ChatTextMessage("Hi", this.radChat1.Author, DateTime.Now.AddHours(1).AddMinutes(10));
            //this.radChat1.AddMessage(message2);

            //ChatTextMessage message3 = new ChatTextMessage("How are you?", author2, DateTime.Now.AddHours(3));
            //this.radChat1.AddMessage(message3);
        }
Пример #22
0
        public static void Start(Action <BaseMessage> sendMessage)
        {
            bool keepProcessing = true;

            // TODO: Process some member exit
            while (keepProcessing)
            {
                Console.WriteLine("--- Waiting for user input...");
                string userInput = Console.ReadLine();

                var message = new ChatTextMessage()
                {
                    Id          = Guid.NewGuid(),
                    MessageText = userInput,
                    Date        = DateTime.Now
                };

                sendMessage(message);
            }
        }
        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);
            }
        }
Пример #24
0
        public void Save(ChatTextMessage message)
        {
            string connStr = "server=baltika.mysql.database.azure.com;user=sailor@baltika;database=smartfactory;password=Baltika123;charset=utf8;";

            MySqlConnection conn = new MySqlConnection(connStr);

            DateTime dateNow = DateTime.Now;
            DateTime date    = dateNow.ToUniversalTime();

            string query = String.Format("INSERT INTO `chat` (`userID`,`name`, `text`, `date`) VALUES ('{0}', '{1}', '{2}', '{3}');",
                                         User.ID, User.Name, message.Message, date.ToString());

            try
            {
                conn.Open();
                MySqlCommand command = new MySqlCommand(query, conn);
                command.ExecuteNonQuery();
            }
            catch
            {
                MessageBox.Show("Не удалось установить соединение с сервером. '\n' Проверьте подключение и попробуйте еще раз.");
            }
            conn.Close();
        }
        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);
                    }
                }
            }
        }
        private void _rcChatlog_SendMessage(object sender, SendMessageEventArgs e)
        {
            ChatTextMessage mesage = e.Message as ChatTextMessage;

            _client.SendMessage(new ChatDataModel.ChatMessage(Util.Instance.CurrentUser.Email, _user.Email, mesage.Message, "", null, mesage.TimeStamp));
        }
        private void _radchatChatGroup_SendMessage(object sender, SendMessageEventArgs e)
        {
            ChatTextMessage mesage = e.Message as ChatTextMessage;

            _client.SendGroupMessage(new ChatGroupMessage(_me.Email, _group.Id, mesage.Message, "", DateTime.Now));
        }
Пример #28
0
 public TextMessageDataItem(ChatTextMessage message)
     : base((ChatMessage)message)
 {
     this.message = message;
 }
Пример #29
0
 private List <long> BuildUserList(ChatTextMessage chatMessage)
 {
     return(chatMessage.ChatRoom.Users.Where(w => w.User.Id != chatMessage.User.Id).Select(s => s.User.Id).ToList());
 }