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()); } }
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()); } }
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()); } }
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()); } }
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); } }
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); } }
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); } }
/// <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()); } }
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()); } }
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()); } }
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()); } }
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); } } }
/// <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()); } }
public void PushMessage(Message_Info _data) { Common_Event.c_NVSEvent.WhenReceiveCallBackData(Key_Raise_Event.Message, _data); }
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()); } }
public static void EnqueueSend(Message_Info p_msg) { c_queue_send.Enqueue(p_msg); }
/// <summary> /// Lưu msg nó đã nhận /// </summary> public void Add_Msg_Recieve(Message_Info p_msg) { c_queue_receive.Enqueue(p_msg); }