private BiztalkParser GetBiztalkParser()
        {
            IRowParser rowParser = Substitute.For <IRowParser>();

            rowParser
            .ParseXmlForRows(Arg.Any <XElement>())
            .Returns(c =>
            {
                if (_errorWhenProcessing)
                {
                    throw new Exception("Test needed exception");
                }
                var xElement = c.ArgAt <XElement>(0);
                var count    = int.Parse(xElement.Element("RowsCount").Value);

                var returns = new List <BiztalkMessage>();

                for (int i = 0; i < count; i++)
                {
                    returns.Add(new BiztalkMessage());
                }

                return(returns);
            });
            var parser = new BiztalkParser(rowParser);

            return(parser);
        }
Exemple #2
0
        public IEnumerable <BiztalkMessage> ParseMessage(string biztalkMessage)
        {
            List <BiztalkMessage> list = new List <BiztalkMessage>();


            if (string.IsNullOrEmpty(biztalkMessage))
            {
                throw new InvalidBiztalkMessageXml(biztalkMessage);
            }

            var message = XDocument.Parse(biztalkMessage);

            if (message?.Root == null || message.Root.IsEmpty || (string.IsNullOrEmpty(message.Root.Value) && !message.Root.HasElements))
            {
                throw new InvalidBiztalkMessageXml(biztalkMessage);
            }
            try
            {
                return(_rowParser.ParseXmlForRows(message.Root));
            }
            catch (Exception ex)
            {
                throw new ErrorOccuredWhenProccessTranposrtXml(biztalkMessage, ex);
            }
        }
 public IEnumerable <BiztalkMessage> Act()
 {
     return(_rowParser.ParseXmlForRows(_document));
 }