예제 #1
0
        private void _WriteGroupHeader(XmlWriter aXmlWriter, SepaMessageInfo aMessageInfo)
        {
            aXmlWriter.WriteStartElement("GrpHdr");
            base.WriteGroupHeaderFields(aXmlWriter, aMessageInfo);
            if (this.GroupHeader_HasBtchBookg(aMessageInfo))
            {
                SepaTriState state = this._GetBatchBooking();
                if (state == SepaTriState.Mixed)
                {
                    throw new ApplicationException("Mixed BtchBookg indicators!");
                }
                if (state != SepaTriState.Default)
                {
                    aXmlWriter.WriteElementString("BtchBookg", XmlConvert.ToString(state != SepaTriState.False));
                }
            }
            aXmlWriter.WriteElementString("NbOfTxs", XmlConvert.ToString(this.NumberOfTransactions));
            aXmlWriter.WriteElementString("CtrlSum", XmlConvert.ToString(this.ControlSum));
            string str = this.GroupHeader_GetGrpg(aMessageInfo);

            if (str != null)
            {
                aXmlWriter.WriteElementString("Grpg", str);
            }
            this.m_aInitgPty.WriteXml(aXmlWriter, aMessageInfo);
            aXmlWriter.WriteEndElement();
        }
예제 #2
0
 public override void Clear()
 {
     this.m_sPmtInfId    = null;
     this.m_nBtchBookg   = SepaTriState.Default;
     this.m_nNbOfTxsRead = 0;
     this.m_dCtrlSumRead = 0M;
     this.m_sCtgyPurp    = null;
     this.m_vTxInfs.Clear();
 }
예제 #3
0
 public override void Clear()
 {
     base.Clear();
     this.m_aInitgPty.Clear();
     this.m_vPmtInfs.Clear();
     this.m_nBtchBookgRead = SepaTriState.Default;
     this.m_nNbOfTxsRead   = 0;
     this.m_dCtrlSumRead   = 0M;
 }
예제 #4
0
 internal void ReadBtchBookg(XmlReader aXmlReader)
 {
     if (aXmlReader.IsStartElement("BtchBookg"))
     {
         string s = aXmlReader.ReadElementString();
         switch (s)
         {
         case null:
         case "":
             throw new XmlException("Empty BtchBookg element.");
         }
         bool flag = XmlConvert.ToBoolean(s);
         this.m_nBtchBookg = flag ? SepaTriState.True : SepaTriState.False;
     }
 }
예제 #5
0
        private SepaTriState _GetBatchBooking()
        {
            SepaTriState batchBooking = SepaTriState.Default;

            if (this.m_vPmtInfs.Count > 0)
            {
                batchBooking = this.m_vPmtInfs[0].BatchBooking;
                foreach (SepaPaymentInformation information in this.m_vPmtInfs)
                {
                    if (information.BatchBooking != batchBooking)
                    {
                        return(SepaTriState.Mixed);
                    }
                }
            }
            return(batchBooking);
        }
예제 #6
0
 private void _ReadGroupHeader(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)
 {
     aXmlReader.ReadStartElement("GrpHdr");
     base.ReadGroupHeaderFields(aXmlReader, aMessageInfo);
     if (aXmlReader.IsStartElement("BtchBookg"))
     {
         bool flag = XmlConvert.ToBoolean(aXmlReader.ReadElementString());
         this.m_nBtchBookgRead = flag ? SepaTriState.True : SepaTriState.False;
     }
     this.m_nNbOfTxsRead = XmlConvert.ToInt32(aXmlReader.ReadElementString("NbOfTxs"));
     if (aXmlReader.IsStartElement("CtrlSum"))
     {
         this.m_dCtrlSumRead = XmlConvert.ToDecimal(aXmlReader.ReadElementString());
     }
     if (aXmlReader.IsStartElement("Grpg"))
     {
         aXmlReader.ReadElementString();
     }
     this.m_aInitgPty.ReadXml(aXmlReader, aMessageInfo);
     aXmlReader.ReadEndElement();
 }