protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo) { if (base.MessageType != aMessageInfo.MessageType) { throw new ArgumentException(); } aXmlReader.ReadStartElement("GrpHdr"); base.ReadGroupHeaderFields(aXmlReader, aMessageInfo); if (aXmlReader.IsStartElement("DbtrAgt")) { this.m_tAgtBIC = SepaUtil.ReadAgtBIC(aXmlReader, "DbtrAgt"); this.m_nOriginalMessageType = SepaMessageType.CreditTransferPaymentInitiation; } else { this.m_tAgtBIC = SepaUtil.ReadAgtBIC(aXmlReader, "CdtrAgt"); this.m_nOriginalMessageType = SepaMessageType.DirectDebitPaymentInitiation; } aXmlReader.ReadEndElement(); aXmlReader.ReadStartElement("OrgnlGrpInfAndSts"); this.m_sOrgnlMsgId = aXmlReader.ReadElementString("OrgnlMsgId"); if (aXmlReader.ReadElementString("OrgnlMsgNmId") != this.OriginalMessageNameIdentification) { throw new XmlException("Inconsistent OrgnlMsgNmId"); } while (aXmlReader.NodeType != XmlNodeType.EndElement) { aXmlReader.Skip(); } aXmlReader.ReadEndElement(); while (aXmlReader.IsStartElement("OrgnlPmtInfAndSts")) { SepaOriginalPaymentInformation item = new SepaOriginalPaymentInformation(); item.ReadXml(aXmlReader, aMessageInfo); this.m_vOrgnlPmtInfs.Add(item); } }
internal SepaOriginalTransactionInformations(SepaOriginalPaymentInformation aOrgnlPmtInf) : base(aOrgnlPmtInf) { }