/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="transactions"></param> internal static void Read(XmlReader reader, IList <TransactionSummary> transactions) { transactions.Clear(); if (reader.IsEmptyElement) { XMLParserUtils.SkipNode(reader); } reader.ReadStartElement(TransactionSummaryListSerializer.Transactions); reader.MoveToContent(); while (!reader.EOF) { if (XMLParserUtils.IsEndElement(reader, TransactionSummaryListSerializer.Transactions)) { XMLParserUtils.SkipNode(reader); break; } if (reader.NodeType == XmlNodeType.Element) { TransactionSummary transaction = new TransactionSummary(); switch (reader.Name) { case SerializerHelper.Transaction: TransactionSummarySerializer.Read(reader, transaction); transactions.Add(transaction); break; default: XMLParserUtils.SkipElement(reader); throw new InvalidOperationException("Unexpected value"); } } else { XMLParserUtils.SkipNode(reader); } } }
/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="transactions"></param> /// /// <param name="preApproval"></param> internal static void Read(XmlReader reader, IList <TransactionSummary> transactions, bool preApproval) { transactions.Clear(); if (reader.IsEmptyElement) { XMLParserUtils.SkipNode(reader); } if (preApproval == true) { reader.ReadStartElement(TransactionSummaryListSerializer.PreApprovals); } else { reader.ReadStartElement(TransactionSummaryListSerializer.Transactions); } reader.MoveToContent(); while (!reader.EOF) { if (preApproval == true) { if (XMLParserUtils.IsEndElement(reader, TransactionSummaryListSerializer.PreApprovals)) { XMLParserUtils.SkipNode(reader); break; } } else { if (XMLParserUtils.IsEndElement(reader, TransactionSummaryListSerializer.Transactions)) { XMLParserUtils.SkipNode(reader); break; } } if (reader.NodeType == XmlNodeType.Element) { TransactionSummary transaction = new TransactionSummary(); switch (reader.Name) { case TransactionSerializerHelper.Transaction: TransactionSummarySerializer.Read(reader, transaction, preApproval); transactions.Add(transaction); break; case TransactionSerializerHelper.PreApproval: TransactionSummarySerializer.Read(reader, transaction, preApproval); transactions.Add(transaction); break; default: XMLParserUtils.SkipElement(reader); break; } } else { XMLParserUtils.SkipNode(reader); } } }