Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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
                {
                }
            }
        }