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