예제 #1
0
        public override XElement BuildXElement(List <string[]> source)
        {
            if (XElemBuilder.targetHeaders.Count >= 10 && IsAllKeyIndexesFound(XElemBuilder.targetHeaders))
            {
                XElement cust = new XElement(Config.XmlFileRoot,
                                             from fields in source
                                             where !fields[1].Equals(string.Empty) & !fields[2].Equals(string.Empty)
                                             select new XElement(Config.TransactionField, new XAttribute(Config.AuftragsKontoField, fields[(int)targetHeaders.GetByIndex(0)]),                                              // Auftragskonto
                                                                 new XElement(Config.BuchungstagField, Config.ExchYearDay(fields[(int)targetHeaders.GetByIndex(1)]), new XAttribute("type", "date")),                       // Buchungstag
                                                                 new XElement(Config.WertDatumField, Config.ExchYearDay(fields[(int)targetHeaders.GetByIndex(2)]), new XAttribute("type", "date")),                         // Valutadatum
                                                                 new XElement(Config.BuchungsTextField, fields[(int)targetHeaders.GetByIndex(3)]),                                                                          // Buchungstext
                                                                 new XElement(Config.VerwendZweckField, fields[(int)targetHeaders.GetByIndex(4)]),                                                                          // Verwendungszweck
                                                                 new XElement(Config.BeguenstigterField, fields[(int)targetHeaders.GetByIndex(5)].Equals(string.Empty) ? "---" : fields[(int)targetHeaders.GetByIndex(5)]), // Begünstigter
                                                                 new XElement(Config.KontonummerField, fields[(int)targetHeaders.GetByIndex(6)]),                                                                           // Kontonummer
                                                                 new XElement(Config.BLZField, fields[(int)targetHeaders.GetByIndex(7)]),                                                                                   // BLZ
                                                                 new XElement(Config.BetragField,                                                                                                                           // Betrag
                                                                              GetAdoptedDouble(fields[(int)targetHeaders.GetByIndex(8)]),
                                                                              new XAttribute(Config.WaehrungField, fields[(int)targetHeaders.GetByIndex(9)]), new XAttribute("type", "double"))                             // Währung
                                                                 )
                                             );
                return(cust);
            }
            WindowWarning dialog = new WindowWarning();

            dialog.labelMessage.Content = " Not all acting fields are found!\r\n Only basic functionality is availible.\r\n Press: \r\n Ok - To proceed; \r\n Stop - To cancel databank update. ";
            dialog.buttonOk.Click      += delegate { dialog.Close(); };
            dialog.buttonStop.Click    += delegate { dialog.Close(); Successor = null; };
            dialog.ShowDialog();

            if (Successor != null)
            {
                return(Successor.BuildXElement(source));
            }
            return(null);
        }
예제 #2
0
 public override XElement BuildXElement(List <string[]> source)
 {
     if (XElemBuilder.targetHeaders.Count >= 4 && IsAllKeyIndexesFound(XElemBuilder.targetHeaders))
     {
         InitialaizeAccountsWindow();
         XElement cust = new XElement(Config.XmlFileRoot,
                                      from fields in source
                                      where !fields[0].Equals(string.Empty) & !fields[1].Equals(string.Empty)
                                      select new XElement(Config.TransactionField, new XAttribute(Config.AuftragsKontoField, bankAccount),                                                   // Auftragskonto
                                                          new XElement(Config.BuchungstagField, fields[(int)targetHeaders.GetByIndex(0)]),                                                   // Buchungstag
                                                          new XElement(Config.WertDatumField, Config.ExchYearDay(fields[(int)targetHeaders.GetByIndex(1)]), new XAttribute("type", "date")), // Valutadatum
                                                          new XElement(Config.BuchungsTextField, "---"),                                                                                     // Buchungstext
                                                          new XElement(Config.VerwendZweckField, fields[(int)targetHeaders.GetByIndex(2)]),                                                  // Verwendungszweck
                                                          new XElement(Config.BeguenstigterField, "---"),                                                                                    // Begünstigter
                                                          new XElement(Config.KontonummerField, String.Empty),                                                                               // Kontonummer
                                                          new XElement(Config.BLZField, String.Empty),                                                                                       // BLZ
                                                          new XElement(Config.BetragField,                                                                                                   // Betrag
                                                                       GetAdoptedDouble(fields[(int)targetHeaders.GetByIndex(3)]),
                                                                       new XAttribute(Config.WaehrungField, " Euro"), new XAttribute("type", "double"))                                      // Währung
                                                          )
                                      );
         return(cust);
     }
     else if (Successor != null)
     {
         return(Successor.BuildXElement(source));
     }
     else
     {
         MessageBox.Show(String.Format(" Only {0} from  4 required header(s) is(are) resolved. \r\n The file was processed, but no new data is appended. \r\n The update of headers dictionary is required.", XElemBuilder.targetHeaders.Count));
         return(null);
     }
 }