public async Task <ActionResult> Post([FromBody] Commons.Message message)
        {
            var messageEnvelop = new Microsoft.Azure.ServiceBus.Message
            {
                MessageId   = message.ID.ToString(),
                ContentType = "application/json",
                Body        = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(message))
            };

            await queueClient.SendAsync(messageEnvelop);

            return(Ok());
        }
        public async Task <ActionResult> Broadcast([FromBody] Commons.Message message)
        {
            var messageEnvelop = new Message
            {
                MessageId   = message.ID.ToString(),
                ContentType = "application/json",
                Body        = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(message)),
            };

            messageEnvelop.UserProperties["domain"] = new MailAddress(message.Receipient).Host;

            await topicClient.SendAsync(messageEnvelop);

            return(Ok());
        }
Exemple #3
0
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (txtMessage.Text.Trim().Length == 0)
                return;
            byte[] buffer = Encoding.ASCII.GetBytes(txtMessage.Text);
            //Statics.CurrentClient.GetStream().Write(buffer, 0, buffer.Length);

            Commons.Message msg = new Commons.Message();
            msg.Command = Commons.Statics.Commands.SENDMSG;
            msg.To = this.Tag.ToString();
            msg.Sender = Statics.CurrentUser;
            msg.Text = txtMessage.Text.Trim();
            Commons.Message.Send(msg, Statics.CurrentClient.GetStream());
            AppendToHistory(msg.Text, Statics.CurrentUser.UserName);
            txtMessage.Text = string.Empty;
        }
Exemple #4
0
 public void RegisterLogout()
 {
     Commons.Message msg = new Commons.Message();
     msg.Command = Commons.Statics.Commands.USEROFFLINE;
     msg.Sender = Statics.CurrentUser;
 }
Exemple #5
0
        private void UserList_Load(object sender, EventArgs e)
        {
            Statics.CurrentClient = new TcpClient();
            Statics.CurrentClient.Connect("node7", 1269);
            if (Statics.CurrentClient.Connected)
            {
                Commons.Message msg = new Commons.Message();
                msg.Command = Commons.Statics.Commands.ADD;
                Commons.UserInfo user = new Commons.UserInfo();
                user.UserName = Environment.UserName;
                user.Identifier = Environment.UserName;
                lblUser.Text = Environment.UserName;
                msg.Sender = user;
                Statics.CurrentUser = user;
                Commons.Message.Send(msg, Statics.CurrentClient.GetStream());

                this.Text = "ProjectTalk™ - " + Statics.CurrentUser.UserName;

                ThreadStart tsReadMessage;
                Thread thReadMessage;
                tsReadMessage = delegate { ReadMessage(); };
                thReadMessage = new Thread(tsReadMessage);
                thReadMessage.SetApartmentState(ApartmentState.STA);
                thReadMessage.Start();

                refreshTimer.Start();
            }
        }
Exemple #6
0
        void ProcessMessage(Commons.Message msg, NetworkStream ns)
        {
            Commons.Message response = new Commons.Message();

            switch (msg.Command)
            {
                case Commons.Statics.Commands.LISTUSERS:
                    // List all the users.
                    Statics.CurrentUsers = Commons.UserInfo.Deserialize(msg.Text);
                    break;
                case Commons.Statics.Commands.SENDMSG:
                    //Statics.MessageQueue.Add(msg);
                    if (Statics.MessageWindows.Count > 0)
                    {
                        List<string> tags = (from MessageWindow mw in Statics.MessageWindows select mw.Tag.ToString()).ToList<string>();
                        if (!tags.Contains(msg.Sender.UserName))
                        {
                            MessageWindow msgWindow = new MessageWindow(msg.Sender.UserName);
                            msgWindow.Show();
                            Statics.MessageWindows.Add(msgWindow);
                        }
                        else
                        {
                            MessageWindow msw = (MessageWindow)(from MessageWindow mw in Statics.MessageWindows where mw.Tag.ToString().Equals(msg.Sender.UserName) select mw).ToList<MessageWindow>().First<MessageWindow>();
                            SetMessage(msw, msg);
                        }
                    }
                    else
                    {
                        OpenNewWindow(msg);
                    }
                    break;
                case Commons.Statics.Commands.USERONLINE:
                    if (!Statics.CurrentUsers.Contains(msg.Sender))
                        Statics.CurrentUsers.Add(msg.Sender);
                    break;
                case Commons.Statics.Commands.USEROFFLINE:
                    if (Statics.CurrentUsers.Contains(msg.Sender))
                        Statics.CurrentUsers.Remove(msg.Sender);
                    break;
            }
        }