Пример #1
0
        public void AddMessage(CrmMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }
            else if (m_messageList.ContainsKey(message.MessageId))
            {
                throw new ArgumentException("Message is already in the list");
            }
            else
            {
                ValidateEntity(message);
            }

            m_messageList.Add(message.MessageId, message);
        }
Пример #2
0
 public void RemoveMessageEntity(CrmMessage message, Guid messageEntityId)
 {
     if (message == null)
     {
         throw new ArgumentNullException("message");
     }
     else if (message.MessageEntities.ContainsKey(messageEntityId))
     {
         message.RemoveMessageEntity(messageEntityId);
     }
     else if (m_messageEntityList.ContainsKey(messageEntityId))
     {
         m_messageEntityList.Remove(messageEntityId);
     }
     else
     {
         throw new ArgumentException("MessageEntity is not in list", "messageEntityId");
     }
 }
Пример #3
0
 private void ValidateEntity(CrmMessage message)
 {
     if (message == null)
     {
         throw new ArgumentNullException();
     }
     else if (m_messageList.ContainsKey(message.MessageId))
     {
         throw new ArgumentException("Message is already in the list");
     }
     else if (message.Organization != this)
     {
         throw new ArgumentException("Organization must match");
     }
     else if (message.MessageId == Guid.Empty)
     {
         throw new ArgumentException("MessageId must be set to valid Guid");
     }
 }
Пример #4
0
        public void AddMessageEntity(CrmMessage message, CrmMessageEntity entity)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }
            else if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            else if (!message.MessageEntities.ContainsKey(entity.MessageEntityId))
            {
                message.AddMessageEntity(entity);
                return;
            }
            else
            {
                ValidateEntity(entity);
            }

            m_messageEntityList.Add(entity.EntityId, entity);
        }
Пример #5
0
        public void RemoveMessage(Guid messageId)
        {
            if (m_messageList.ContainsKey(messageId))
            {
                CrmMessage message = m_messageList[messageId];

                //Copy the list of MessageEntities. Can't use the enumerator because we are changing the underlying data
                Guid[] entityIdList = new Guid[message.MessageEntities.Count];
                message.MessageEntities.Keys.CopyTo(entityIdList, 0);

                //Loop through the MessageEntity id's
                foreach (Guid messageEntityId in entityIdList)
                {
                    RemoveMessageEntity(message, messageEntityId);
                }

                m_messageList.Remove(messageId);
            }
            else
            {
                throw new ArgumentException("Invalid Message Id", "messageId");
            }
        }