示例#1
0
 protected void RaiseSendChannelNotice(object sender, SendMessageEventArgs e)
 {
     if (SendChannelNotice != null)
     {
         SendChannelNotice(sender, e);
     }
 }
示例#2
0
        private void DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                this._networkStream = this._eventArgs.Client.GetStream();
                this._reader        = new StreamReader(this._networkStream);
                this._writer        = new StreamWriter(this._networkStream);

                /// this will hold the data that recieved from the stream.
                string dataRecieved = string.Empty;

                while (true)
                {
                    dataRecieved = this._reader.ReadLine();
                    if (!string.IsNullOrEmpty(dataRecieved))
                    {
                        /// Get Action type from dataRecieved
                        switch (dataRecieved.GetActionType())
                        {
                        case ChatActionTypes.join:

                            /// first data receieved will contains the user details
                            /// username, guid, createdate
                            processUserDetails(dataRecieved);
                            /// log event to console
                            this.LogEvent(this, new LogEventArgs(string.Format("Client \"{0}\" connected in server [ {1} ]", this.Username, this.UserUniqueID)));
                            /// set new user event payload
                            this.NewUserEvent(this, new NewUserEventArgs(this.Username, this.UserUniqueID));

                            break;

                        case ChatActionTypes.leave:

                            this.LeaveEvent(this, new LeaveEventArgs(this.Username, this.UserUniqueID));
                            /// log event to console
                            this.LogEvent(this, new LogEventArgs(string.Format("Client \"{0}\" disconnected from server [ {1} ]", this.Username, this.UserUniqueID)));

                            break;

                        case ChatActionTypes.send:

                            SendMessageEventArgs data = dataRecieved.ProcessSendMessageDetails();
                            /// Process data request
                            this.SendMessageEvent(this, data);
                            /// log event to console
                            this.LogEvent(this, new LogEventArgs(string.Format("Client \"{0}\" send message to {1} with message [\"{2}\"]", this.Username, data.To, data.Message)));

                            break;

                        default: break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                this.LeaveEvent(this, new LeaveEventArgs(this.Username, this.UserUniqueID));
                this.LogEvent(this, new LogEventArgs(ex.Message, ConsoleColor.Red));
            }
        }
 protected virtual void OnSendMessage(SendMessageEventArgs e)
 {
     if (SendMessage != null)
     {
         SendMessage(this, e);
     }
 }
示例#4
0
        private void radChat1_SendMessage(object sender, SendMessageEventArgs e)
        {
            var author = e.Message;

            Console.WriteLine("Lo" + author);



            //Console.WriteLine(this.radChat1.Author.Data);
            //    RadTextBoxElement textBox = new RadTextBoxElement();
            //    textBox.Text = "Enter text here";
            //    textBox.MinSize = new Size(100, 0);
            //    Console.WriteLine(textBox);
            //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);
        }
示例#5
0
 protected void RaiseDisplayUserMessage(object sender, SendMessageEventArgs e)
 {
     if (DisplayUserMessage != null)
     {
         DisplayUserMessage(sender, e);
     }
 }
示例#6
0
        private void SaveMessage(object sender, SendMessageEventArgs e)
        {
            ChatTextMessage textMessage = e.Message as ChatTextMessage;

            new MessageToDB().Save(textMessage);

            lastMessageID++;
        }
示例#7
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);
            }
示例#8
0
        private void PrimusPing(object?state)
        {
            // this.MessagesQueues.TryAdd(InstanceId, "4\"primus::ping::"+ DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() +"\"");
            // InstanceId++;

            SendMessageEventArgs eventArgs = new SendMessageEventArgs();

            eventArgs.message = "4\"primus::ping::" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + "\"";
            this.SendMessage(this, eventArgs);
        }
示例#9
0
        //(context, "4{\"_messageType\":\"BasicAckMessage\",\"seq\":1,\"lastPacketId\":1,\"_isInitialized\":true}");

        public void Send(NetworkMessage message)
        {
            // this.MessagesQueues.TryAdd(InstanceId, $"4{JsonConvert.SerializeObject(message)}");
            // InstanceId++;


            SendMessageEventArgs eventArgs = new SendMessageEventArgs();

            eventArgs.message = $"4{JsonConvert.SerializeObject(message)}";
            this.SendMessage(this, eventArgs);
        }
        public void MessageSent(object sender, SendMessageEventArgs e)
        {
            var message = new Message
            {
                Id       = Guid.NewGuid(),
                Text     = e.Message.Text,
                Author   = e.Message.Author,
                DateTime = e.Message.DateTime
            };

            _hubConnection.SendAsync("SendMessage", message);
        }
示例#11
0
        public static SendMessageEventArgs ProcessSendMessageDetails(this string data)
        {
            SendMessageEventArgs e = default(SendMessageEventArgs);

            /// converting the data
            /// and save it to it's designated property
            try
            {
                e = JsonConvert.DeserializeObject <SendMessageEventArgs>(data);
            }
            catch { }
            return(e);
        }
示例#12
0
            // Wrap event invocations inside a protected virtual method
            // to allow derived classes to override the event invocation behavior
            protected virtual void OnRaiseSendMessageEvent(SendMessageEventArgs e)
            {
                // Make a temporary copy of the event to avoid possibility of
                // a race condition if the last subscriber unsubscribes
                // immediately after the null check and before the event is raised.
                EventHandler <SendMessageEventArgs> handler = SendMessageHandler;

                // Event will be null if there are no subscribers
                if (handler != null)
                {
                    handler(this, e);
                }
            }
示例#13
0
        private void radChat1_SendMessage(object sender, SendMessageEventArgs e)
        {
            if (_entedPressed)
            {
                return;
            }

            var textMessage = e.Message as ChatTextMessage;

            if (string.IsNullOrWhiteSpace(textMessage.Message))
            {
                return;
            }

            var rec = new CheckListTransfer()
            {
                Created     = DateTime.Now,
                From        = GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId,
                To          = _opponent.SpecialistId,
                AuditId     = _auditId,
                CheckListId = _checkListId,
                Settings    = new CheckListTransferSettings()
                {
                    Remark          = textMessage.Message,
                    WorkflowStageId = _stageId
                }
            };

            GlobalObjects.CaaEnvironment.NewKeeper.Save(rec);

            if (_auditCheck.Settings.WorkflowStatusId != WorkFlowStatus.Review.ItemId)
            {
                _auditCheck.Settings.WorkflowStatusId = WorkFlowStatus.Review.ItemId;
                GlobalObjects.CaaEnvironment.NewKeeper.Save(_auditCheck);
            }


            radChat2.ChatElement.SendButtonElement.Enabled = false;

            if (_auditorId == GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId)
            {
                radChat2.ChatElement.MessagesViewElement.Items.Remove(radChat2.ChatElement.MessagesViewElement.Items.LastOrDefault());
            }

            AddAuditorMsg(rec);
            AddBotWaitMsg();


            _entedPressed = true;
        }
示例#14
0
        private void SfChat_SendMessage(object sender, SendMessageEventArgs e)
        {
            e.Handled = true;
            e.Message.ShowAuthorName = true;
            e.Message.ShowAvatar     = true;
            this.sfChat.Messages.Add(e.Message);
            TextMessage textMessage = new TextMessage()
            {
                Author = sfChat.CurrentUser, ShowAvatar = true
            };

            textMessage.Text = "How are you?";
            this.sfChat.Messages.Add(textMessage);
        }
示例#15
0
 private static void Core_SendMessageEvent(object sender, SendMessageEventArgs e)
 {
     if (e.MessageType == MessageType.SMS)
     {
         Notice notice = (Notice)e.Data;
         if (notices.TryTake(out notice))
         {
             Console.WriteLine(String.Format("SMS has sent ({0})", notice));
         }
     }
     else
     {
         Console.WriteLine(e);
     }
 }
示例#16
0
        private void RadChat_SendMessage(object sender, SendMessageEventArgs e)
        {
            var vm = this.ViewModel;

            vm.CurrentMessage = e.Message as TextMessage;

            //Only send the message to the intended recipient if provided, otherwise globally broadcast it
            if (vm.CurrentRecipient.Name == null)
            {
                vm.SendCurrentMessage();
            }
            else
            {
                vm.SendCurrentMessage(vm.CurrentRecipient.Name);
            }
        }
示例#17
0
 public async Task <DiscordMessage> SendMessage(object sender, SendMessageEventArgs e)
 {
     Log(sender, new LogEventArgs {
         Type    = LogType.Log,
         Message = $"Sending message {e.LogMessage} to channel #{e.Channel.Name} ({e.Channel.Guild.Name})"
     });
     if (e.LogMessage.Length > 2000)
     {
         int oldLength = e.Message.Length;
         e.LogMessage = e.LogMessage.Substring(0, 2000);
         Log(sender, new LogEventArgs {
             Type    = LogType.Warning,
             Message = $"Last message was {oldLength} characters long, truncated to 2000"
         });
     }
     return(await e.Channel.SendMessageAsync(e.Message));
 }
        private void View_SendClick(object sender, SendMessageEventArgs e)
        {
            var teacher = this.teacherService.FindById(e.TeacherId);
            var parents = this.parentService.FindParents(e.StudentId);

            if (parents.Count() < 1)
            {
                this.View.Model.IsSuccess    = false;
                this.View.Model.ErrorMessage = "This student doesn`t have registred parents!";
                return;
            }

            var messageDto = e.MessageDTO;

            messageDto.From   = $"{teacher.FirstName} {teacher.MiddleName ?? ""} {teacher.LastName}";
            messageDto.SendOn = DateTime.Now;

            try
            {
                foreach (var parent in parents)
                {
                    var msg = this.messageFactory.CreateMessage(messageDto);
                    parent.Messages.Add(msg);
                }
            }
            catch (ArgumentException ex)
            {
                this.View.Model.IsSuccess    = false;
                this.View.Model.ErrorMessage = ex.Message;
                return;
            }

            try
            {
                this.parentService.Save();
            }
            catch (Exception ex)
            {
                this.View.Model.IsSuccess    = false;
                this.View.Model.ErrorMessage = "Error while updating parents messages.";
                return;
            }

            this.View.Model.IsSuccess = true;
        }
示例#19
0
文件: main5.cs 项目: HIC-Ai/HIC
        //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);
        }
示例#20
0
        private void ChatView_OnSendMessage(object sender, SendMessageEventArgs e)
        {
            // The documentation states that e.Handled = false should not be added to the collection
            // I only got this working by setting e.Handled = true, which makes me think that the documentation is wrong.
            e.Handled = true;
            var text = ChatView.Editor.Text;

            // Resetting the editor text doesn't work.
            ChatView.Editor.Text = string.Empty;

            if (BindingContext is ViewModel vm)
            {
                vm.SendMessageCommand.Execute(text)
                .ObserveOn(RxApp.MainThreadScheduler)
                .Subscribe(_ =>
                {
                    // Resetting the editor text does work here
                    // I'm guessing it's because the UI gets a refresh when a new item is added to the collection.
                    ChatView.Editor.Text = string.Empty;
                });
            }
        }
示例#21
0
        private void ViewOnSendMessage(object sender, SendMessageEventArgs e)
        {
            switch (e.Message.MessageType)
            {
            case MessageType.Info:
                alertControl1.Show(this, "Info", e.Message.MessageText, Resources.info_32x32);
                break;

            case MessageType.Wraning:
                alertControl1.Show(this, "Upozorenje", e.Message.MessageText, Resources.warning_32x32);
                break;

            case MessageType.Error:
                alertControl1.Show(this, "Greška", e.Message.MessageText, Resources.error_32x32);
                break;

            case MessageType.Question:
                e.Confirmed = XtraMessageBox.Show(this, e.Message.MessageText, "Upit", MessageBoxButtons.YesNo,
                                                  MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes;
                break;
            }
        }
        private async void sfChat_SendMessage(object sender, SendMessageEventArgs e)
        {
            e.Handled = true;

            Message message = new Message()
            {
                OwnerID       = App.user.ID,
                SenderID      = App.user.ID,
                DateTimeSent  = e.Message.DateTime,
                TextMessage   = e.Message.Text,
                ToSupervisors = ToSupervisor
            };

            try
            {
                await App.mobileService.GetTable <Message>().InsertAsync(message);
                await RetreiveMessages(ToSupervisor);
            }
            catch (Exception ex)
            {
                await Application.Current.MainPage.DisplayAlert("Error", $"{ex}", "OK");
            }
        }
示例#23
0
        protected void Unnamed_Click(object sender, EventArgs e)
        {
            var messageContent = this.content.InnerText;

            if (messageContent.Length > Utils.Constants.ContentMaxLength)
            {
                this.MessageContainer.ShowError(Utils.Constants.ContentErrorMessage);
                return;
            }

            var studentId = this.Students.SelectedValue;

            if (studentId == null || studentId == "")
            {
                // Show error
                return;
            }

            var messageDTO = new MessageDTO()
            {
                Content = messageContent
            };

            var teacherId = Context.User.Identity.GetUserId();
            var ev        = new SendMessageEventArgs(teacherId, studentId, messageDTO);

            this.SendClick?.Invoke(sender, ev);

            if (this.Model.IsSuccess)
            {
                this.MessageContainer.ShowSuccess("Message send to parents.");
            }
            else
            {
                this.MessageContainer.ShowError(this.Model.ErrorMessage);
            }
        }
示例#24
0
 protected void SendMessageEventHandler(object sender, SendMessageEventArgs eventArgs)
 {
     SendMessage(((Client)sender).ContextId, eventArgs.message);
 }
示例#25
0
 private void Chat_SendMessage_(object sender, SendMessageEventArgs e)
 {
 }
 private void DoOnSendMessageEventHandler(object sender, SendMessageEventArgs args)
 {
     //do nothing
 }
        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));
        }
示例#29
0
 void back_SendControlMessage(object sender, SendMessageEventArgs e)
 {
     MessageBox.Show(e.Msg, appTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
 }
 public void OnSendMessageEvent(SendMessageEventArgs e) => SentMessageEvent(this, e);
示例#31
0
 private void ChatElement_SendMessage(object sender, SendMessageEventArgs e)
 {
     this.SendMessageToServer(((ChatTextMessage)e.Message).Message);
 }