示例#1
0
        private List <StudentEvent> MapStudentEvents(BiztalkMessage biztalkMessages)
        {
            var result = new List <StudentEvent>();

            if (biztalkMessages != null && biztalkMessages.MsgLog != null)
            {
                if (biztalkMessages.MsgLog.LogEntries != null && biztalkMessages.MsgLog.LogEntries.Any())
                {
                    var messages = biztalkMessages.MsgLog.LogEntries.Select(e => MapStudentEvent(e)).ToList();
                    result.AddRange(messages);
                }
                else if (biztalkMessages.MsgLog.LogEntry != null)
                {
                    result.Add(MapStudentEvent(biztalkMessages.MsgLog.LogEntry));
                }
            }

            return(result);
        }
示例#2
0
        public IEnumerable <BiztalkMessage> ParseXmlForRows(XElement message)
        {
            List <BiztalkMessage> messages = new List <BiztalkMessage>();

            if (message == null || message.IsEmpty)
            {
                return(messages);
            }


            var metaDataXmlElement   = message.Element("MetaData");
            var metaData             = _metadataPareser.ParseFromXElementToMetadata(metaDataXmlElement);
            var dataToTransport      = (metaDataXmlElement.NextNode as XElement);
            var desitnationsMetaData = metaData.GenerateForDestinations();

            foreach (var destMetadata in desitnationsMetaData)
            {
                XElement messageData = new XElement(message.Name.LocalName);
                messageData.Add(message.Attributes().ToArray());
                messageData.Add(_metadataPareser.ParseToXmlElement(destMetadata));
                messageData.Add(dataToTransport);

                BiztalkMessage biztalkMessage = new BiztalkMessage();
                biztalkMessage.Data          = messageData.ToString(SaveOptions.None);
                biztalkMessage.CorrelationId = Guid.NewGuid();
                biztalkMessage.BussinesId    = metaData.BussinesId;
                biztalkMessage.Source        = metaData.Source;
                biztalkMessage.GenerateTime  = DateTime.Now;
                biztalkMessage.Destination   = destMetadata.Destination;
                biztalkMessage.TranposrtName = message.Name.LocalName;
                messages.Add(biztalkMessage);
            }


            return(messages);
        }