protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo) { this.m_sOrgnlPmtInfId = aXmlReader.ReadElementString("OrgnlPmtInfId"); if (aXmlReader.IsStartElement("OrgnlNbOfTxs")) { aXmlReader.Skip(); } if (aXmlReader.IsStartElement("OrgnlCtrlSum")) { aXmlReader.Skip(); } if (aXmlReader.IsStartElement("PmtInfSts")) { if (aXmlReader.ReadElementString() != "RJCT") { throw new XmlException("Unsupported PmtInfSts"); } while (aXmlReader.IsStartElement("StsRsnInf")) { SepaStatusReasonInformation item = new SepaStatusReasonInformation(); item.ReadXml(aXmlReader, aMessageInfo); this.m_vStsRsnInfs.Add(item); } } while (aXmlReader.IsStartElement("TxInfAndSts")) { SepaOriginalTransactionInformation information2 = new SepaOriginalTransactionInformation(); information2.ReadXml(aXmlReader, aMessageInfo); this.m_vTxInfAndSts.Add(information2); } }
protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo) { if (aXmlReader.IsStartElement("StsId")) { this.m_sStsId = aXmlReader.ReadElementString(); } if (aXmlReader.IsStartElement("OrgnlInstrId")) { this.m_sOrgnlInstrId = aXmlReader.ReadElementString(); } if (aXmlReader.IsStartElement("OrgnlEndToEndId")) { this.m_sOrgnlEndToEndId = aXmlReader.ReadElementString(); } if (aXmlReader.IsStartElement("TxSts")) { if (aXmlReader.ReadElementString() != "RJCT") { throw new XmlException("Unsupported TxSts"); } while (aXmlReader.IsStartElement("StsRsnInf")) { SepaStatusReasonInformation item = new SepaStatusReasonInformation(); item.ReadXml(aXmlReader, aMessageInfo); this.m_vStsRsnInfs.Add(item); } } aXmlReader.ReadStartElement("OrgnlTxRef"); if (aXmlReader.IsStartElement("Amt")) { aXmlReader.ReadStartElement(); this.m_aAmt.ReadXml(aXmlReader, "InstdAmt"); aXmlReader.ReadEndElement(); } if (aXmlReader.IsStartElement("ReqdExctnDt")) { this.m_dtReqdDt = SepaUtil.ReadDtXml(aXmlReader, "ReqdExctnDt"); } if (aXmlReader.IsStartElement("ReqdColltnDt")) { if (this.m_dtReqdDt > DateTime.MinValue) { throw new XmlException(); } this.m_dtReqdDt = SepaUtil.ReadDtXml(aXmlReader, "ReqdColltnDt"); } if (aXmlReader.IsStartElement("CdtrSchmeId")) { this.m_sCdtrSchmeId = SepaUtil.ReadCdtrSchmeIdXml(aXmlReader); } if (aXmlReader.IsStartElement("PmtTpInf")) { aXmlReader.ReadStartElement(); if (aXmlReader.IsStartElement("InstrPrty")) { this.m_sInstrPrty = aXmlReader.ReadElementString(); } if (aXmlReader.IsStartElement("SvcLvl")) { aXmlReader.ReadStartElement(); string str2 = aXmlReader.ReadElementString("Cd"); aXmlReader.ReadEndElement(); if (str2 != "SEPA") { throw new XmlException(); } } if (aXmlReader.IsStartElement("LclInstrm")) { aXmlReader.ReadStartElement(); this.m_sLclInstrmCd = aXmlReader.ReadElementString("Cd"); aXmlReader.ReadEndElement(); } if (aXmlReader.IsStartElement("SeqTp")) { this.m_sSeqTp = aXmlReader.ReadElementString(); } if (aXmlReader.IsStartElement("CtgyPurp")) { aXmlReader.ReadStartElement(); this.m_sCtgyPurp = aXmlReader.ReadElementString("Cd"); aXmlReader.ReadEndElement(); } aXmlReader.ReadEndElement(); } if (aXmlReader.IsStartElement("MndtRltdInf")) { aXmlReader.ReadStartElement(); if (aXmlReader.IsStartElement("MndtId")) { this.m_sMndtId = aXmlReader.ReadElementString(); } if (aXmlReader.IsStartElement("DtOfSgntr")) { this.m_dtMndtDtOfSgntr = SepaUtil.ReadDtXml(aXmlReader, "DtOfSgntr"); } if (aXmlReader.IsStartElement("AmdmntInd")) { aXmlReader.Skip(); } if (aXmlReader.IsStartElement("AmdmntInfDtls")) { aXmlReader.Skip(); } if (aXmlReader.IsStartElement("ElctrncSgntr")) { aXmlReader.Skip(); } aXmlReader.ReadEndElement(); } if (aXmlReader.IsStartElement("RmtInf")) { aXmlReader.ReadStartElement(); if (aXmlReader.IsStartElement("Ustrd")) { this.m_sRmtInf = aXmlReader.ReadElementString(); } else if (aXmlReader.IsStartElement("Strd")) { this.m_sRmtInf = aXmlReader.ReadInnerXml(); this.m_fRmtInfStrd = true; } aXmlReader.ReadEndElement(); } if (aXmlReader.IsStartElement("UltmtDbtr")) { aXmlReader.Skip(); } if (aXmlReader.IsStartElement("Dbtr")) { this.m_aDbtr.ReadXml(aXmlReader, aMessageInfo); } if (aXmlReader.IsStartElement("DbtrAcct")) { this.m_tDbtrAcctIBAN = SepaUtil.ReadAcctXml(aXmlReader, "DbtrAcct", out this.m_sDbtrAcctCcy); } if (aXmlReader.IsStartElement("DbtrAgt")) { this.m_tDbtrAgtBIC = SepaUtil.ReadAgtBIC(aXmlReader, "DbtrAgt"); } if (aXmlReader.IsStartElement("CdtrAgt")) { this.m_tCdtrAgtBIC = SepaUtil.ReadAgtBIC(aXmlReader, "CdtrAgt"); } if (aXmlReader.IsStartElement("Cdtr")) { this.m_aCdtr.ReadXml(aXmlReader, aMessageInfo); } if (aXmlReader.IsStartElement("CdtrAcct")) { this.m_tCdtrAcctIBAN = SepaUtil.ReadAcctXml(aXmlReader, "CdtrAcct", out this.m_sCdtrAcctCcy); } if (aXmlReader.IsStartElement("UltmtCdtr")) { aXmlReader.Skip(); } aXmlReader.ReadEndElement(); }