Exemplo n.º 1
0
        private void UpdateListView(Message_Info p_Message_Info)
        {
            try
            {
                if (lsvMessage.Dispatcher.CheckAccess() == false)
                {
                    lsvMessage.Dispatcher.Invoke(new ShowListViewDelegate(UpdateListView), p_Message_Info);
                }
                else
                {
                    if (c_User_To == null)
                    {
                        return;
                    }
                    //if (p_Message_Info.Message == ":)")
                    //{
                    //    p_Message_Info.Icon = "/Nvs_Monitor;component/Icons/smile_80_anim.gif";
                    //    p_Message_Info.Message = string.Empty;
                    //}

                    Message_Info _Message_Info = new Message_Info(p_Message_Info);
                    if (_Message_Info.IsGroup == 1)
                    {
                        _Message_Info.Message = _Message_Info.From_User_Name + " --> " + _Message_Info.Message;
                    }
                    lsvMessage.Items.Add(_Message_Info);
                    lsvMessage.ScrollIntoView(_Message_Info);
                }
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 2
0
        void ShowCommonAlert(Message_Info p_Message_Info)
        {
            try
            {
                Alert_Common _Alert_Common = new Alert_Common();
                _Alert_Common.Title = p_Message_Info.From_User_Name;

                _Alert_Common.FontWeight   = FontWeights.Bold;
                _Alert_Common.FontSize     = 13;
                _Alert_Common.Msg          = p_Message_Info.Message;
                _Alert_Common.FromUserName = p_Message_Info.From_User_Name;
                _Alert_Common.To_UserName  = p_Message_Info.To_User_Name;
                _Alert_Common.Message_Info = p_Message_Info;

                _Alert_Common.IsSound   = true;
                _Alert_Common.SoundFile = Common.c_FileName_Sound_Common;
                _Alert_Common.Time      = "00:00:03";

                txtMsg.Focus();
                txtMsg.Select(txtMsg.Text.Length, 0);
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 3
0
        void Send_Msg()
        {
            try
            {
                if (txtMsg.Text == "")
                {
                    return;
                }
                if (c_User_To == null)
                {
                    return;
                }
                Message_Info _Message_Info = new Message_Info(Common.c_User_Info.User_Name, txtMsg.Text, c_User_To.User_Name, (int)Enum_Message_Type.Send, c_User_To.IsGroup);
                _Controller.Send_Msg(_Message_Info);

                UpdateListView(_Message_Info);
                txtMsg.Clear();
                txtMsg.Focus();

                Add_msg_ToDic(_Message_Info);
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 4
0
 public void Send_Msg(Message_Info p_Message_Info)
 {
     try
     {
         CommonData.c_serviceWCF.Send_Msg(p_Message_Info);
     }
     catch (Exception ex)
     {
         NaviCommon.Common.log.Error(ex.ToString());
     }
 }
Exemplo n.º 5
0
 private void Common_Alert(Message_Info p_Message_Info)
 {
     if (lsvMessage.Dispatcher.CheckAccess() == false)
     {
         lsvMessage.Dispatcher.Invoke(new delegateMes_Alert(Common_Alert), p_Message_Info);
     }
     else
     {
         ShowCommonAlert(p_Message_Info);
     }
 }
Exemplo n.º 6
0
        Message_Info Get_msg_Send()
        {
            Message_Info _Message_Info = (Message_Info)c_queue_receive.Dequeue();

            if (_Message_Info != null)
            {
                return(_Message_Info);
            }
            else
            {
                return(_Message_Info);
            }
        }
Exemplo n.º 7
0
        public static Message_Info Get_msg_Send()
        {
            Message_Info _Message_Info = (Message_Info)c_queue_send.Dequeue();

            if (_Message_Info != null)
            {
                return(_Message_Info);
            }
            else
            {
                return(_Message_Info);
            }
        }
Exemplo n.º 8
0
 /// <summary>
 /// Lưu msg nó đã gửi đi
 /// </summary>
 public void Add_Msg_Send(Message_Info p_msg)
 {
     try
     {
         Message_Info _Message_Info = new Message_Info(p_msg);
         _Message_Info.Status = (int)Enum_Message_Status.OK;
         p_msg.Type           = (int)Enum_Message_Type.Send;
         _lst_Send.Add(_Message_Info);
     }
     catch (Exception ex)
     {
         NaviCommon.Common.log.Error(ex.ToString());
     }
 }
Exemplo n.º 9
0
        void c_NVSEvent_WhenReceiveCallBackDataEvent(object sender, NVSEventArgs e)
        {
            try
            {
                string _sender = (string)sender;
                if (_sender == Key_Raise_Event.Message)
                {
                    Message_Info _Message_Info = (Message_Info)e.Obj;
                    if (_Message_Info.From_User_Name == Common.c_User_Info.User_Name)
                    {
                        return;
                    }
                    _Message_Info.Type = (int)Enum_Message_Type.Receive;

                    Add_msg_ToDic(_Message_Info);

                    if (c_User_To != null && _Message_Info.To_User_Name != c_User_To.User_Name)
                    {
                        Common_Alert(_Message_Info);
                    }
                    else if (c_User_To == null)
                    {
                        Common_Alert(_Message_Info);
                    }

                    //if (_Message_Info.From_User_Name != c_User_To.User_Name && c_User_To.User_Name != "ManTT8ChemGio") return;

                    if (_Message_Info.To_User_Name != c_User_To.User_Name)
                    {
                        return;
                    }
                    UpdateListView(_Message_Info);
                }
                else if (_sender == Key_Raise_Event.Session)
                {
                    Session_Info _Session_Info = (Session_Info)e.Obj;
                    Change_User_OnlineStatus(_Session_Info);
                    return;
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 10
0
        void C_NVSEvent_WhenClickAlertEvent(object sender, NVSEventArgs e)
        {
            try
            {
                string _from_userName = (string)sender;
                //string _To_UserName = (string)e.Obj;
                Message_Info Message_Info = (Message_Info)e.Obj;

                if (_from_userName == null)
                {
                    return;
                }
                if (c_dic_User.ContainsKey(_from_userName) == false)
                {
                    return;
                }

                if (c_User_To == null)
                {
                    c_User_To = c_dic_User[Message_Info.To_User_Name];
                }
                else
                {
                    if (Message_Info.IsGroup == 1)
                    {
                        c_User_To = c_dic_User[Message_Info.To_User_Name];
                    }
                    else if (c_User_To != null && c_User_To.User_Name == _from_userName)
                    {
                        return;
                    }
                    else
                    {
                        c_User_To = c_dic_User[_from_userName];
                    }
                }
                lsvFriend.SelectedItem = c_User_To;
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 11
0
        public void Send_Msg(Message_Info p_Message_Info)
        {
            try
            {
                if (DBMemory.c_dic_User_Interface.ContainsKey(p_Message_Info.From_User_Name))
                {
                    DBMemory.c_dic_User_Interface[p_Message_Info.From_User_Name].Add_Msg_Send(p_Message_Info);
                }

                if (DBMemory.c_dic_User_Interface.ContainsKey(p_Message_Info.To_User_Name))
                {
                    DBMemory.c_dic_User_Interface[p_Message_Info.To_User_Name].Add_Msg_Recieve(p_Message_Info);
                }
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 12
0
 void Push_Msg()
 {
     while (true)
     {
         try
         {
             // thằng này nếu ko có lệnh thì nó ngủ luôn, nên không cần sleep
             Message_Info item = (Message_Info)Get_msg_Send();
             if (item != null)
             {
                 if (item.IsGroup == 1)
                 {
                     foreach (Member_Info _Member_Info in c_User_Info.List_Member)
                     {
                         if (_Member_Info.Member_Name == c_User_Info.User_Name)
                         {
                             continue;
                         }
                         //Push_By_Identify(_Member_Info.Member_Name, item);
                         if (DBMemory.c_dic_User_Interface.ContainsKey(_Member_Info.Member_Name))
                         {
                             DBMemory.c_dic_User_Interface[_Member_Info.Member_Name].Push_By_Identify(_Member_Info.Member_Name, item);
                         }
                     }
                 }
                 else
                 {
                     //string _msg = NaviCommon.JsonFactory.Create_Json_Send<Message_Info>("SEND", item);
                     Push_By_Identify(item.To_User_Name, item);
                 }
             }
         }
         catch (Exception ex)
         {
             NaviCommon.Common.log.Error(ex.ToString());
             Thread.Sleep(1000);
         }
     }
 }
Exemplo n.º 13
0
        /// <summary>
        /// Gửi dữ liệu tới 1 Identify
        /// </summary>
        /// <param name="p_id">Identify muốn gửi</param>
        /// <param name="p_data">Dữ liệu muốn gửi</param>
        public void Push_By_Identify(string p_id, Message_Info p_data)
        {
            try
            {
                if (DBMemory.c_dic_identifi_callback_client.ContainsKey(p_id))
                {
                    NvsService_Callback _item = DBMemory.c_dic_identifi_callback_client[p_id];
                    _item.PushMessage(p_data);
                    p_data.Status = (int)Enum_Message_Status.OK;
                }
                else
                {
                    p_data.Status = (int)Enum_Message_Status.Not_OK;
                }

                p_data.Type = (int)Enum_Message_Type.Receive;
                _lst_Recieve.Add(p_data);
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 14
0
 public void PushMessage(Message_Info _data)
 {
     Common_Event.c_NVSEvent.WhenReceiveCallBackData(Key_Raise_Event.Message, _data);
 }
Exemplo n.º 15
0
        void Add_msg_ToDic(Message_Info p_Message_Info)
        {
            try
            {
                string _key_send    = p_Message_Info.From_User_Name + "|" + p_Message_Info.To_User_Name;
                string _key_receive = p_Message_Info.To_User_Name + "|" + p_Message_Info.From_User_Name;

                if (p_Message_Info.IsGroup == 1)
                {
                    if (p_Message_Info.Type == (decimal)Enum_Message_Type.Receive && p_Message_Info.From_User_Name == Common.c_User_Info.User_Name)
                    {
                        return;
                    }

                    _key_send = p_Message_Info.To_User_Name;
                    if (c_dic_Msg.ContainsKey(_key_send) == false)
                    {
                        List <Message_Info> _lst = new List <Message_Info>();
                        _lst.Add(p_Message_Info);
                        c_dic_Msg[_key_send] = _lst;
                    }
                    else
                    {
                        List <Message_Info> _lst;
                        _lst = c_dic_Msg[_key_send];
                        _lst.Add(p_Message_Info);
                        c_dic_Msg[_key_send] = _lst;
                    }
                }
                else
                {
                    #region Normal
                    if (c_dic_Msg.ContainsKey(_key_send) == false && c_dic_Msg.ContainsKey(_key_receive) == false)
                    {
                        List <Message_Info> _lst = new List <Message_Info>();
                        _lst.Add(p_Message_Info);
                        c_dic_Msg[_key_send] = _lst;
                    }
                    else
                    {
                        List <Message_Info> _lst;
                        if (c_dic_Msg.ContainsKey(_key_send))
                        {
                            _lst = c_dic_Msg[_key_send];
                        }
                        else
                        {
                            _lst = c_dic_Msg[_key_receive];
                        }

                        _lst.Add(p_Message_Info);
                        if (c_dic_Msg.ContainsKey(_key_send))
                        {
                            c_dic_Msg[_key_send] = _lst;
                        }
                        else
                        {
                            c_dic_Msg[_key_receive] = _lst;
                        }
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
Exemplo n.º 16
0
 public static void EnqueueSend(Message_Info p_msg)
 {
     c_queue_send.Enqueue(p_msg);
 }
Exemplo n.º 17
0
 /// <summary>
 /// Lưu msg nó đã nhận
 /// </summary>
 public void Add_Msg_Recieve(Message_Info p_msg)
 {
     c_queue_receive.Enqueue(p_msg);
 }