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); }
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 { } } }