Example #1
0
        public void AddMsgIntoSendBuffer(MCSServer mcsServer, MsgRecord msgRecord)
        {
            if (!exeSendMsgRecords1Buffer.ContainsKey(msgRecord.MsgID))
            {
                MsgRecordModel msgRecordmodel = new MsgRecordModel();
                msgRecordmodel.IsSended             = msgRecord.IsSended;
                msgRecordmodel.MCS_IP               = mcsServer.MCS_IP;
                msgRecordmodel.MCS_Port             = mcsServer.MCS_Port;
                msgRecordmodel.MDS_IP               = CommonVariables.MDSIP;
                msgRecordmodel.MDS_Port             = CommonVariables.MDSPort;
                msgRecordmodel.MsgContent           = msgRecord.MsgContent;
                msgRecordmodel.MsgID                = msgRecord.MsgID;
                msgRecordmodel.MsgRecipientGroupID  = msgRecord.MsgRecipientGroupID;
                msgRecordmodel.MsgRecipientObjectID = msgRecord.MsgRecipientObjectID;
                msgRecordmodel.MsgSenderName        = msgRecord.MsgSenderName;
                msgRecordmodel.MsgSenderObjectID    = msgRecord.MsgSenderObjectID;
                msgRecordmodel.MsgType              = msgRecord.MsgType;
                msgRecordmodel.reTryCount           = 1;
                msgRecordmodel.SendTime             = msgRecord.SendTime;
                msgRecordmodel.ExeSendTime          = DateTime.Now.ToString(CommonFlag.F_DateTimeFormat);

                CommonVariables.Listener.SendMsg(msgRecordmodel.MCS_IP, msgRecordmodel.MCS_Port,
                                                 CommonFlag.F_MCSVerfiyMDSMSG + JsonConvert.SerializeObject(msgRecord), msgRecordmodel.MsgID);
                exeSendMsgRecords1Buffer.Add(msgRecordmodel.MsgID, msgRecordmodel);
            }
        }
Example #2
0
        //private IList<MsgRecordModel> GetUsingSendMsgRecordBuffer
        //{
        //    get
        //    {
        //        return UsingTagForSendMsgRecord ? bufferSendMsgRecords1 : bufferSendMsgRecords2;
        //    }
        //}

        //private IList<MsgRecordModel> GetUnUsingSendMsgRecordBuffer
        //{
        //    get
        //    {
        //        return UsingTagForSendMsgRecord ? bufferSendMsgRecords2 : bufferSendMsgRecords1;
        //    }
        //}

        #endregion


        public void GetMSG(IMsgRecordService _msgRecordService, ClientModel clientModel)
        {
            MsgRecordModel msgRecordmodel = null;
            MsgRecordQuery query          = new MsgRecordQuery();

            query.MsgRecipientObjectID = clientModel.ObjectID;
            query.MsgRecordtime        = clientModel.LatestTime;
            IList <MsgRecord> msgRecords = _msgRecordService.LoadMsgRecord(query);

            foreach (MsgRecord msgRecord in msgRecords)
            {
                msgRecordmodel                      = new MsgRecordModel();
                msgRecordmodel.IsSended             = msgRecord.IsSended;
                msgRecordmodel.MCS_IP               = clientModel.MCS_IP;
                msgRecordmodel.MCS_Port             = clientModel.MCS_Port;
                msgRecordmodel.MDS_IP               = CommonVariables.MDSIP;
                msgRecordmodel.MDS_Port             = CommonVariables.MDSPort;
                msgRecordmodel.MsgContent           = msgRecord.MsgContent;
                msgRecordmodel.MsgID                = msgRecord.MsgID;
                msgRecordmodel.MsgRecipientGroupID  = msgRecord.MsgRecipientGroupID;
                msgRecordmodel.MsgRecipientObjectID = msgRecord.MsgRecipientObjectID;
                msgRecordmodel.MsgSenderName        = msgRecord.MsgSenderName;
                msgRecordmodel.MsgSenderObjectID    = msgRecord.MsgSenderObjectID;
                msgRecordmodel.MsgType              = msgRecord.MsgType;
                msgRecordmodel.reTryCount           = 1;
                msgRecordmodel.SendTime             = msgRecord.SendTime;
                msgRecordmodel.ExeSendTime          = DateTime.Now.ToString(CommonFlag.F_DateTimeFormat);

                CommonVariables.Listener.SendMsg(msgRecordmodel.MCS_IP, msgRecordmodel.MCS_Port,
                                                 CommonFlag.F_MCSVerfiyMDSMSG + JsonConvert.SerializeObject(msgRecord), msgRecordmodel.MsgID);
                exeSendMsgRecords1Buffer.Add(msgRecordmodel.MsgID, msgRecordmodel);
            }
        }
Example #3
0
        /// <summary>
        /// 获得数据列表
        /// </summary>
        public List <MsgRecordModel> DataTableToList(DataTable dt)
        {
            List <MsgRecordModel> modelList = new List <MsgRecordModel>();
            int rowsCount = dt.Rows.Count;

            if (rowsCount > 0)
            {
                MsgRecordModel model;
                for (int n = 0; n < rowsCount; n++)
                {
                    model = new MsgRecordModel();
                    if (dt.Rows[n]["UserID"] != null && dt.Rows[n]["UserID"].ToString() != "")
                    {
                        model.UserID = dt.Rows[n]["UserID"].ToString();
                    }
                    if (dt.Rows[n]["MsgContent"] != null && dt.Rows[n]["MsgContent"].ToString() != "")
                    {
                        model.MsgContent = dt.Rows[n]["MsgContent"].ToString();
                    }
                    model.ReContent = dt.Rows[n]["ReContent"].ToString();
                    model.ReTime    = dt.Rows[n]["ReTime"].ToString();

                    if (dt.Rows[n]["LeaveTime"] != null && dt.Rows[n]["LeaveTime"].ToString() != "")
                    {
                        model.LeaveTime = DateTime.Parse(dt.Rows[n]["LeaveTime"].ToString());
                    }

                    modelList.Add(model);
                }
            }
            return(modelList);
        }
Example #4
0
        private void SendMsg(string recive_IP, int recive_Port, string objectID, MsgRecordModel msgRecord)
        {
            byte[] bytesSent;

            JavaScriptSerializer js = new JavaScriptSerializer();

            string msg = js.Serialize(msgRecord);

            bytesSent = Encoding.UTF8.GetBytes(msg);

            IPEndPoint ipe        = new IPEndPoint(IPAddress.Parse(recive_IP), recive_Port);
            Socket     tempSocket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

            try
            {
                tempSocket.Connect(ipe);

                tempSocket.Send(bytesSent, bytesSent.Length, 0);

                tempSocket.Close();
            }
            catch (SocketException ex)
            {
                CommonVariables.RemoveCurrentClients(objectID);
            }
            catch (Exception ex)
            {
                CommonVariables.RemoveCurrentClients(objectID);
            }
        }
        private string HandleMDSVerifyMCSMSG(string data, MDSListenerToken token)
        {
            string         tempStr  = data.Remove(0, CommonFlag.F_MDSVerifyMCSMSG.Length);
            MsgRecordModel msgModel = CommonVariables.serializer.Deserialize <MsgRecordModel>(tempStr);

            if (msgModel != null)
            {
                if (!string.IsNullOrEmpty(msgModel.MsgSenderObjectID))
                {
                    MsgRecord msgReocod = CommonVariables.MessageContorl.AddMSgRecordIntoBuffer(msgModel);

                    foreach (MCSServer mcsServer in CommonVariables.MCSServers)
                    {
                        if (mcsServer.ArrangeStr.Contains(msgReocod.MsgRecipientObjectID.Substring(0, 1)))
                        {
                            CommonVariables.MessageContorl.SendMsgToMCS(mcsServer, msgReocod);
                            break;
                        }
                    }

                    return(msgModel.MsgID);
                }
            }
            return(string.Empty);
        }
Example #6
0
        public void AddMsgRecordIntoBuffer(MsgRecordModel _msgRecordModel)
        {
            IList <MsgRecordModel> msgRecordModels = GenerateMsgRecordModel(_msgRecordModel);

            foreach (MsgRecordModel msgRecordModel in msgRecordModels)
            {
                GetUsingMsgRecordBuffer.Add(msgRecordModel);
            }
        }
Example #7
0
        private bool CheckMsg(MsgRecordModel msgRecord)
        {
            bool IsWholeTrue = true;

            if (!CommonVariables.CurrentClientsContainKey(msgRecord.ObjectID))
            {
                IsWholeTrue = false;
            }

            return(IsWholeTrue);
        }
Example #8
0
        private IList <MsgRecordModel> GenerateMsgRecordModel(MsgRecordModel msgRecordModel)
        {
            IList <MsgRecordModel> msgRecords = new List <MsgRecordModel>();

            if (!string.IsNullOrEmpty(msgRecordModel.MsgRecipientGroupID))
            {
                IContactPersonService contactGroupService = ObjectContainerFactory.CurrentContainer.Resolver <IContactPersonService>();
                IList <String>        ContactPersonIDs    = contactGroupService.GetContactPersonIDListByGroupID(msgRecordModel.MsgSenderObjectID, msgRecordModel.MsgRecipientGroupID);
                foreach (String objectID in ContactPersonIDs)
                {
                    MsgRecordModel _msgRecordModel = new MsgRecordModel();
                    _msgRecordModel.MsgContent           = msgRecordModel.MsgContent;
                    _msgRecordModel.MsgType              = msgRecordModel.MsgType;
                    _msgRecordModel.MsgSenderObjectID    = msgRecordModel.MsgSenderObjectID;
                    _msgRecordModel.MsgSenderName        = msgRecordModel.MsgSenderName;
                    _msgRecordModel.MsgRecipientGroupID  = msgRecordModel.MsgRecipientGroupID;
                    _msgRecordModel.IsSended             = msgRecordModel.IsSended;
                    _msgRecordModel.MsgRecipientObjectID = objectID;
                    _msgRecordModel.SendTime             = msgRecordModel.SendTime;
                    _msgRecordModel.MsgID = Guid.NewGuid().ToString();
                    for (int i = 0; i < CommonVariables.MDSServers.Count; i++)
                    {
                        if (CommonVariables.MDSServers[i].ArrangeStr.Contains(_msgRecordModel.MsgRecipientObjectID.Substring(0, 1)))
                        {
                            _msgRecordModel.MDS_IP   = CommonVariables.MDSServers[i].MDS_IP;
                            _msgRecordModel.MDS_Port = CommonVariables.MDSServers[i].MDS_Port;
                            //_msgRecordModel.MDS_ID = CommonVariables.MDSServers[i].MDS_ID;
                            break;
                        }
                    }

                    msgRecords.Add(_msgRecordModel);
                }
            }
            else if (string.IsNullOrEmpty(msgRecordModel.MsgRecipientGroupID) && !string.IsNullOrEmpty(msgRecordModel.MsgRecipientObjectID))
            {
                for (int i = 0; i < CommonVariables.MDSServers.Count; i++)
                {
                    if (CommonVariables.MDSServers[i].ArrangeStr.Contains(msgRecordModel.MsgRecipientObjectID.Substring(0, 1)))
                    {
                        msgRecordModel.MDS_IP   = CommonVariables.MDSServers[i].MDS_IP;
                        msgRecordModel.MDS_Port = CommonVariables.MDSServers[i].MDS_Port;
                        if (string.IsNullOrEmpty(msgRecordModel.MsgID))
                        {
                            msgRecordModel.MsgID = Guid.NewGuid().ToString();
                        }
                        break;
                    }
                }
                msgRecords.Add(msgRecordModel);
            }
            return(msgRecords);
        }
Example #9
0
        public IList <string> GenerateRecordByGroup(MsgRecordModel msgRecordModel)
        {
            IList <string> recipientObjectIDs = new List <string>();

            IList <ContactGroupSub> contactGroupSubs = contactGroupSubRepository.Table.
                                                       Where(t => t.ContactGroupID == msgRecordModel.MsgRecipientGroupID).ToList();

            foreach (ContactGroupSub contactGroupSub in contactGroupSubs)
            {
                recipientObjectIDs.Add(contactGroupSub.ContactPersonObjectID);
            }
            return(recipientObjectIDs);
        }
        public IList<string> GenerateRecordByGroup(MsgRecordModel msgRecordModel)
        {
            IList<string> recipientObjectIDs = new List<string>();

            IList<ContactGroupSub> contactGroupSubs = contactGroupSubRepository.Table.
                Where(t => t.ContactGroupID == msgRecordModel.MsgRecipientGroupID).ToList();

            foreach(ContactGroupSub contactGroupSub in contactGroupSubs)
            {
                recipientObjectIDs.Add(contactGroupSub.ContactPersonObjectID);
            }
            return recipientObjectIDs;
        }
Example #11
0
        private string HandlerMsgReturnData(string returnData, bool IsError)
        {
            if (!string.IsNullOrEmpty(returnData))
            {
                MsgRecordModel tempmodel = ExeingMsgRecordModels.Single(t => t.MsgID == returnData);
                if (IsError)
                {
                    GetUsingMsgRecordBuffer.Add(tempmodel);
                }
                ExeingMsgRecordModels.Remove(ExeingMsgRecordModels.Single(t => t.MsgID == returnData));
            }

            return(string.Empty);
        }
Example #12
0
        private MsgRecordModel UnboxMsg(string msg)
        {
            string tempMsg = msg;

            MsgRecordModel msgModel = new MsgRecordModel();

            if (tempMsg.IndexOf(CommonFlag.F_ObjectID) >= 0 && tempMsg.IndexOf(CommonFlag.F_ObjectID) < tempMsg.IndexOf(CommonFlag.F_Content))
            {
                msgModel.ObjectID = tempMsg.Substring(tempMsg.IndexOf(CommonFlag.F_ObjectID) + CommonFlag.F_ObjectID.Length,
                                                      tempMsg.IndexOf(";", tempMsg.IndexOf(CommonFlag.F_ObjectID)) - tempMsg.IndexOf(CommonFlag.F_ObjectID) - CommonFlag.F_ObjectID.Length);
                tempMsg = tempMsg.Replace(CommonFlag.F_ObjectID + msgModel.ObjectID + ";", "");
            }

            if (tempMsg.IndexOf(CommonFlag.F_MsgType) >= 0 && tempMsg.IndexOf(CommonFlag.F_MsgType) < tempMsg.IndexOf(CommonFlag.F_Content))
            {
                msgModel.MsgType = Convert.ToInt32(tempMsg.Substring(tempMsg.IndexOf(CommonFlag.F_MsgType) + CommonFlag.F_MsgType.Length,
                                                                     tempMsg.IndexOf(";", tempMsg.IndexOf(CommonFlag.F_MsgType)) - tempMsg.IndexOf(CommonFlag.F_MsgType) - CommonFlag.F_MsgType.Length));
                tempMsg = tempMsg.Replace(CommonFlag.F_MsgType + msgModel.MsgType + ";", "");
            }

            if (tempMsg.IndexOf(CommonFlag.F_RecivedObjectID) >= 0 && tempMsg.IndexOf(CommonFlag.F_RecivedObjectID) < tempMsg.IndexOf(CommonFlag.F_Content))
            {
                msgModel.RecivedObjectID = tempMsg.Substring(tempMsg.IndexOf(CommonFlag.F_RecivedObjectID) + CommonFlag.F_RecivedObjectID.Length,
                                                             tempMsg.IndexOf(";", tempMsg.IndexOf(CommonFlag.F_RecivedObjectID)) - tempMsg.IndexOf(CommonFlag.F_RecivedObjectID) - CommonFlag.F_RecivedObjectID.Length);
                tempMsg = tempMsg.Replace(CommonFlag.F_RecivedObjectID + msgModel.RecivedObjectID + ";", "");
            }

            if (tempMsg.IndexOf(CommonFlag.F_RecivedObjectID2) >= 0 && tempMsg.IndexOf(CommonFlag.F_RecivedObjectID2) < tempMsg.IndexOf(CommonFlag.F_Content))
            {
                msgModel.RecivedObjectID2 = tempMsg.Substring(tempMsg.IndexOf(CommonFlag.F_RecivedObjectID2) + CommonFlag.F_RecivedObjectID2.Length,
                                                              tempMsg.IndexOf(";", tempMsg.IndexOf(CommonFlag.F_RecivedObjectID2)) - tempMsg.IndexOf(CommonFlag.F_RecivedObjectID2) - CommonFlag.F_RecivedObjectID2.Length);
                tempMsg = tempMsg.Replace(CommonFlag.F_RecivedObjectID2 + msgModel.RecivedObjectID2 + ";", "");
            }

            if (tempMsg.IndexOf(CommonFlag.F_SendType) >= 0 && tempMsg.IndexOf(CommonFlag.F_SendType) < tempMsg.IndexOf(CommonFlag.F_Content))
            {
                msgModel.SendType = Convert.ToInt32(tempMsg.Substring(tempMsg.IndexOf(CommonFlag.F_SendType) + CommonFlag.F_SendType.Length,
                                                                      tempMsg.IndexOf(";", tempMsg.IndexOf(CommonFlag.F_SendType)) - tempMsg.IndexOf(CommonFlag.F_SendType) - CommonFlag.F_SendType.Length));
                tempMsg = tempMsg.Replace(CommonFlag.F_SendType + msgModel.SendType + ";", "");
            }

            if (tempMsg.IndexOf(CommonFlag.F_Content) >= 0)
            {
                msgModel.Content = tempMsg.Replace(CommonFlag.F_Content, "");
                //tempMsg = tempMsg.Replace(CommonFlag.F_SendType + msgModel.SendType + ";", "");
            }

            return(msgModel);
        }
Example #13
0
        private MsgRecordModel ModelTransfor(MsgRecord msgRecord)
        {
            MsgRecordModel msgRecordModel = new MsgRecordModel();

            msgRecordModel.IsSended             = msgRecord.IsSended;
            msgRecordModel.MsgContent           = msgRecord.MsgContent;
            msgRecordModel.MsgID                = msgRecord.MsgContent;
            msgRecordModel.MsgRecipientGroupID  = msgRecord.MsgRecipientGroupID;
            msgRecordModel.MsgRecipientObjectID = msgRecord.MsgRecipientObjectID;
            msgRecordModel.MsgSenderName        = msgRecord.MsgSenderName;
            msgRecordModel.MsgSenderObjectID    = msgRecord.MsgSenderObjectID;
            msgRecordModel.MsgType              = msgRecord.MsgType;
            msgRecordModel.SendTime             = msgRecord.SendTime;
            return(msgRecordModel);
        }
Example #14
0
        public void AddMsgIntoOutBuffer(MsgRecord msgRecord)
        {
            if (clientModels.ContainsKey(msgRecord.MsgRecipientObjectID))
            {
                //if (clientModels[msgRecord.MsgRecipientObjectID].LatestTime.CompareTo(msgRecord.SendTime) < 0)
                //{
                //    clientModels[msgRecord.MsgRecipientObjectID].LatestTime = msgRecord.SendTime;
                //}

                MsgRecordModel msgRecordModel = ModelTransfor(msgRecord);
                msgRecordModel.Client_IP   = clientModels[msgRecord.MsgRecipientObjectID].Client_IP;
                msgRecordModel.Client_Port = clientModels[msgRecord.MsgRecipientObjectID].Client_Port;
                GetUsingMsgRecordBufferToUA.Add(msgRecordModel);
            }
        }
Example #15
0
        public void HandleMCSMSGFB(string returnData)
        {
            if (!string.IsNullOrEmpty(returnData))
            {
                if (exeSendMsgRecords1Buffer.ContainsKey(returnData))
                {
                    MsgRecordModel tempmodel = exeSendMsgRecords1Buffer[returnData];

                    if (tempmodel != null)
                    {
                        exeSendMsgRecords1Buffer.Remove(tempmodel.MsgID);
                    }
                }
            }
        }
        private string HandleMCSVerifyUAMSG(string data, MCSListenerToken token)
        {
            string         tempStr  = data.Remove(0, CommonFlag.F_MCSVerifyUAMSG.Length);
            MsgRecordModel msgModel = CommonVariables.serializer.Deserialize <MsgRecordModel>(tempStr);

            if (msgModel != null)
            {
                if (!string.IsNullOrEmpty(msgModel.MsgSenderObjectID))
                {
                    CommonVariables.MessageContorl.AddMsgRecordIntoBuffer(msgModel);
                    return(msgModel.MsgID);
                }
            }
            return(string.Empty);
        }
Example #17
0
        public MsgRecord AddMSgRecordIntoBuffer(MsgRecordModel msgRecordModel)
        {
            MsgRecord msgRecord = new MsgRecord();

            msgRecord.MsgRecipientGroupID = msgRecordModel.MsgRecipientGroupID;
            msgRecord.MsgContent          = msgRecordModel.MsgContent;
            msgRecord.MsgID = msgRecordModel.MsgID;
            msgRecord.MsgRecipientObjectID = msgRecordModel.MsgRecipientObjectID;
            msgRecord.MsgSenderName        = msgRecordModel.MsgSenderName;
            msgRecord.MsgSenderObjectID    = msgRecordModel.MsgSenderObjectID;
            msgRecord.MsgType  = msgRecordModel.MsgType;
            msgRecord.SendTime = msgRecordModel.SendTime;
            GetUsingMsgRecordBuffer.Add(msgRecord);

            return(msgRecord);
        }
Example #18
0
        private void SendGroupMsg(MsgRecordModel msgRecord)
        {
            IList <ContactPerson> contactPersons   = contactGroupService.GetContactPersonIDListByGroupID(msgRecord.RecivedObjectID);
            ContactPerson         curcontactPerson = contactPersonRepository.Find(t => t.ObjectID == msgRecord.ObjectID);

            msgRecord.ObjectName = curcontactPerson.ContactName;

            foreach (ContactPerson contactPerson in contactPersons)
            {
                if (CommonVariables.CurrentClientsContainKey(contactPerson.ObjectID))
                {
                    SendMsg(CommonVariables.GetCurrentClients[contactPerson.ObjectID].Recive_IP, CommonVariables.GetCurrentClients[contactPerson.ObjectID].Recive_Port, contactPerson.ObjectID, msgRecord);

                    //msgRecord.IsSended = true;
                }
                else
                {
                }
            }
        }
Example #19
0
        private void MainSendMSGToUAThread()
        {
            try
            {
                while (IsRunning)
                {
                    if (GetUsingMsgRecordBufferToUA.Count > 0)
                    {
                        UsingTagForUA = !UsingTagForUA;

                        while (GetUnUsingMsgRecordBufferToUA.Count > 0)
                        {
                            MsgRecordModel msgRecordModel = GetUnUsingMsgRecordBufferToUA[0];
                            try
                            {
                                string messageStr = CommonFlag.F_UAVerifyMCSMSG + JsonConvert.SerializeObject(ModelTransfor(msgRecordModel));
                                //CommonVariables.LogTool.Log("begin send mds " + msgRecordModel.MDS_IP + " port:" + msgRecordModel.MDS_Port + messageStr);
                                if (CommonVariables.Listener.SendMsg(msgRecordModel.Client_IP, msgRecordModel.Client_Port, messageStr, msgRecordModel.MsgID))
                                {
                                    msgRecordModel.ExeSendTime = DateTime.Now.ToString(CommonFlag.F_DateTimeFormat);
                                    msgRecordModel.reTryCount++;
                                    ExeingMsgRecordForUA.Add(msgRecordModel.MsgID, msgRecordModel);
                                }
                            }
                            catch (Exception ex)
                            {
                                CommonVariables.LogTool.Log(msgRecordModel.MsgID + ex.Message + ex.StackTrace);
                            }
                            GetUnUsingMsgRecordBufferToUA.RemoveAt(0);
                        }
                    }
                    Thread.Sleep(_sendDelay);
                }
            }
            catch (Exception ex)
            {
                CommonVariables.LogTool.Log(ex.Message + ex.StackTrace);
            }
        }
Example #20
0
        public void Handler()
        {
            try
            {
                byte[] bytmsg = new byte[1024];
                int    bytes  = clientSocket.Receive(bytmsg);
                string strMsg = Encoding.UTF8.GetString(bytmsg, 0, bytes);

                if (strMsg == "stop")
                {
                    return;
                }

                MsgRecordModel msgModel = UnboxMsg(strMsg);

                if (string.IsNullOrEmpty(msgModel.ObjectID))
                {
                    return;
                }

                if (string.IsNullOrEmpty(msgModel.Content))
                {
                    IFindMsgRecord           findMsgRecord = ObjectContainerFactory.CurrentContainer.Resolver <IFindMsgRecord>();
                    ParameterizedThreadStart threadStart   = new ParameterizedThreadStart(findMsgRecord.findMsg);
                    Thread thread = new Thread(threadStart);
                    thread.Start(msgModel.ObjectID);
                }
                else if (!string.IsNullOrEmpty(msgModel.Content))
                {
                    IHandleSendMsg           handleSendMsg = ObjectContainerFactory.CurrentContainer.Resolver <IHandleSendMsg>();
                    ParameterizedThreadStart threadStart   = new ParameterizedThreadStart(handleSendMsg.Handler);
                    Thread thread = new Thread(threadStart);
                    thread.Start(msgModel);
                }
            }
            catch (Exception ex)
            {
            }
        }
Example #21
0
        private void MainSendMSGThread()
        {
            sendMsgClient = new AsyncSocketClient(_maxSize, _maxSendConnections, CommonVariables.LogTool);
            try
            {
                while (IsRunning)
                {
                    if (GetUsingMsgRecordBuffer.Count > 0)
                    {
                        UsingTagForMsgRecord = !UsingTagForMsgRecord;

                        while (GetUnUsingMsgRecordBuffer.Count > 0)
                        {
                            MsgRecordModel msgRecordModel = GetUnUsingMsgRecordBuffer[0];
                            try
                            {
                                string messageStr = CommonFlag.F_MDSVerifyMCSMSG + CommonVariables.serializer.Serialize(msgRecordModel);
                                //CommonVariables.LogTool.Log("begin send mds " + msgRecordModel.MDS_IP + " port:" + msgRecordModel.MDS_Port + messageStr);
                                sendMsgClient.SendMsg(msgRecordModel.MDS_IP, msgRecordModel.MDS_Port, messageStr, msgRecordModel.MsgID, HandlerMsgReturnData);

                                ExeingMsgRecordModels.Add(msgRecordModel);
                            }
                            catch (Exception ex)
                            {
                                GetUsingMsgRecordBuffer.Add(msgRecordModel);
                                CommonVariables.LogTool.Log(msgRecordModel.MsgID + ex.Message + ex.StackTrace);
                            }
                            GetUnUsingMsgRecordBuffer.RemoveAt(0);
                        }
                    }
                    Thread.Sleep(_sendDelay);
                }
            }
            catch (Exception ex)
            {
                CommonVariables.LogTool.Log(ex.Message + ex.StackTrace);
            }
        }
 private MsgRecordModel ModelTransfor(MsgRecord msgRecord)
 {
     MsgRecordModel msgRecordModel = new MsgRecordModel();
     msgRecordModel.IsSended = msgRecord.IsSended;
     msgRecordModel.MsgContent = msgRecord.MsgContent;
     msgRecordModel.MsgID = msgRecord.MsgContent;
     msgRecordModel.MsgRecipientGroupID = msgRecord.MsgRecipientGroupID;
     msgRecordModel.MsgRecipientObjectID = msgRecord.MsgRecipientObjectID;
     msgRecordModel.MsgSenderName = msgRecord.MsgSenderName;
     msgRecordModel.MsgSenderObjectID = msgRecord.MsgSenderObjectID;
     msgRecordModel.MsgType = msgRecord.MsgType;
     msgRecordModel.SendTime = msgRecord.SendTime;
     return msgRecordModel;
 }
Example #23
0
 public async Task <IActionResult> OnGetPageData(MsgRecordModel entity) => new JsonResult(await MsgRecordPluginManager.Instance.GetPageDataAsync(entity));
Example #24
0
 public async Task <IActionResult> OnPostAddAndEditExc(MsgRecordModel entity) => new JsonResult(await MsgRecordPluginManager.Instance.OperationAsync(entity));
Example #25
0
 public void SendMsgToMCS(MsgRecordModel msgRecordmodel)
 {
     CommonVariables.Listener.SendMsg(msgRecordmodel.MCS_IP, msgRecordmodel.MCS_Port,
                                      CommonFlag.F_MCSVerfiyMDSMSG + JsonConvert.SerializeObject(ModelTransfor(msgRecordmodel)), msgRecordmodel.MsgID);
 }
        public void AddMsgRecordIntoBuffer(MsgRecordModel _msgRecordModel)
        {
            IList<MsgRecordModel> msgRecordModels = GenerateMsgRecordModel(_msgRecordModel);

            foreach (MsgRecordModel msgRecordModel in msgRecordModels)
            {
                GetUsingMsgRecordBufferToMDS.Add(msgRecordModel);
            }
        }
        private IList<MsgRecordModel> GenerateMsgRecordModel(MsgRecordModel msgRecordModel)
        {
            IList<MsgRecordModel> msgRecords = new List<MsgRecordModel>();
            if (!string.IsNullOrEmpty(msgRecordModel.MsgRecipientGroupID))
            {
                IContactPersonService contactGroupService = ObjectContainerFactory.CurrentContainer.Resolver<IContactPersonService>();
                IList<String> ContactPersonIDs = contactGroupService.GetContactPersonIDListByGroupID(msgRecordModel.MsgSenderObjectID,msgRecordModel.MsgRecipientGroupID);
                foreach (String objectID in ContactPersonIDs)
                {
                    MsgRecordModel _msgRecordModel = new MsgRecordModel();
                    _msgRecordModel.MsgContent = msgRecordModel.MsgContent;
                    _msgRecordModel.MsgType = msgRecordModel.MsgType;
                    _msgRecordModel.MsgSenderObjectID = msgRecordModel.MsgSenderObjectID;
                    _msgRecordModel.MsgSenderName = msgRecordModel.MsgSenderName;
                    _msgRecordModel.MsgRecipientGroupID = msgRecordModel.MsgRecipientGroupID;
                    _msgRecordModel.IsSended = msgRecordModel.IsSended;
                    _msgRecordModel.MsgRecipientObjectID = objectID;
                    _msgRecordModel.SendTime = msgRecordModel.SendTime;
                    _msgRecordModel.MsgID = Guid.NewGuid().ToString();
                    MDSServer server = CommonVariables.CommonFunctions.FindMDSServer(CommonVariables.MDSServers, objectID);
                    _msgRecordModel.MDS_IP = server.MDS_IP;
                    _msgRecordModel.MDS_Port = server.MDS_Port;
                            //_msgRecordModel.MDS_ID = CommonVariables.MDSServers[i].MDS_ID;

                    msgRecords.Add(_msgRecordModel);
                }
            }
            else if (string.IsNullOrEmpty(msgRecordModel.MsgRecipientGroupID) && !string.IsNullOrEmpty(msgRecordModel.MsgRecipientObjectID))
            {
                for (int i = 0; i < CommonVariables.MDSServers.Count; i++)
                {
                    MDSServer server = CommonVariables.CommonFunctions.FindMDSServer(CommonVariables.MDSServers, msgRecordModel.MsgRecipientObjectID);
                    msgRecordModel.MDS_IP = server.MDS_IP;
                    msgRecordModel.MDS_Port = server.MDS_Port;
                    if (string.IsNullOrEmpty(msgRecordModel.MsgID))
                    {
                        msgRecordModel.MsgID = Guid.NewGuid().ToString();
                    }
                }
                msgRecords.Add(msgRecordModel);
            }
            return msgRecords;
        }