private bool LosGehts(bool ergebnis)
        {
            if (ergebnis)
            {
                SetDataRowColor("3");
                lfdPoFo++;
            }
            if ((lfdPoFo + 1) > _wertpapsynchro.Count)
            {
                Close();
                return(false);
            }
            wpsyn = _wertpapsynchro[lfdPoFo];
            //if (wpsyn.WPSName.StartsWith("JPM-")) {
            HtmlDocument doc = Fx_read_Page(new Uri(wpsyn.WPSURL));

            SearchWebPage(doc, wpsyn);
            //}
            n2 = 0;
            return(true);
        }
 private SearchValues SetSearchValues(WertpapSynchro wpsyn)
 {
     if (wpsyn.WPSType == Wertpapierklasse.Anleihe)
     {
         SearchV.SelectNodesValue1 = "col-sm-7";
         SearchV.SelectNodesValue2 = "row quotebox";
         SearchV.textSharpeRatio1  = "box";
         SearchV.textSharpeRatio2  = "Kupondaten";
     }
     else if (wpsyn.WPSType >= Wertpapierklasse.MinWertpap && wpsyn.WPSType <= Wertpapierklasse.MaxWertpap)
     {
         SearchV.SelectNodesValue1 = "col-sm-7";
         SearchV.SelectNodesValue2 = "row quotebox";
         SearchV.textSharpeRatio1  = "box";
         SearchV.textSharpeRatio2  = "Sharpe Ratio";
     }
     else
     {
         MessageBox.Show("Fehler in KontenSynchronisieren2 GetSearchVaues(): Fehlerhafter WPSType: " + wpsyn.WPSType);
     }
     return(SearchV);
 }
        private void SearchWebPage(HtmlDocument doc, WertpapSynchro wpsyn)
        {
            SetSearchValues(wpsyn); // NOCH in xml-Datei...
            Console.Write("==== {0}", wpsyn.WPSName);
            HtmlNodeCollection nodes   = doc.DocumentNode.SelectNodes("//div[@class='" + SearchV.SelectNodesValue1 + "']");
            string             strReg0 = Regex.Replace(nodes[0].InnerText, "[\x00-\x20]+", "/"); // /103,26EUR/-1,04EUR/-1,00%/15.11.2018/NAV/NAV/

            Console.WriteLine(" nodes.Count: {0} .InnerText: {1} {2}", nodes.Count, strReg0, "//div[@class='" + SearchV.SelectNodesValue1 + "']");
            PrintTxtUnten("==== " + wpsyn.WPSName + " nodes.Count: " + nodes.Count + " .InnerText: " + strReg0 + "  //div[@class='" + SearchV.SelectNodesValue1 + "']");
            string strPrint = "";

            foreach (HtmlNode node1 in nodes)
            {
                string strReg1 = Regex.Replace(node1.InnerText, "[\x00-\x20]+", "/");
                Console.WriteLine("    node1.Name: {0} .ChildNodes.Count: {1} .Type: {2} .InnerText: {3}",
                                  node1.Name, node1.ChildNodes.Count, node1.NodeType, strReg1);
                foreach (HtmlNode node2 in node1.ChildNodes)
                {
                    if (node2.NodeType == HtmlNodeType.Text)
                    {
                        continue;
                    }
                    string strReg2 = Regex.Replace(node2.InnerText, "[\x00-\x20]+", "/");
                    if (strReg2.Length <= 1)
                    {
                        continue;
                    }
                    Console.WriteLine("        node2.Name: {0} .ChildNodes.Count: {1} .Type: {2} .InnerText: {3}",
                                      node2.Name, node2.ChildNodes.Count, node2.NodeType, strReg2);
                    char[]   charSeparators = new char[] { '/' };
                    string[] StrArr         = strReg2.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                    // /98,50%/-0,16/-0,16%/09:42:40/Uhr/HAN/Berlin/Frankfurt/Hamburg/H....
                    if (wpsyn.WPSType == Wertpapierklasse.Anleihe)                      // ---- Anleihe ----
                    // /98,50%/-0,16/-0,16%/09:42:40/Uhr/HAN/Berlin/Frankfurt/Hambu
                    {
                        charSeparators = new char[] { '%' };
                        Match match1 = regBetrag.Match(StrArr[0]);
                        if (match1.Success)
                        {
                            float kurs = Convert.ToSingle(match1.Value);
                            wpsyn.WPSKurs = kurs;
                            strPrint     += "Anleihe Kurs: " + wpsyn.WPSKurs + " ";
                            PrintTxtUnten("Anleihe Kurs: " + kurs);
                        }
                        Match match0    = regDatumJJ.Match(StrArr[3]);
                        Match matchZeit = null;
                        if (match0.Success)
                        {
                            wpsyn.WPSKursZeit = Convert.ToDateTime(match0.Value);       // KursDatum
                            strPrint         += "Datum: " + wpsyn.WPSKursZeit + " ";
                            PrintTxtUnten("Anleihe Datum  : " + wpsyn.WPSKursZeit);
                        }
                        else
                        {
                            matchZeit = regZeit.Match(StrArr[3]);                       // KursZeit
                            if (matchZeit.Success)
                            {
                                DateTime dt = wpsyn.WPSKursZeit;
                                wpsyn.WPSKursZeit = Convert.ToDateTime(dt.Day + "." + dt.Month + "." + dt.Year + " " + matchZeit.Value);
                                strPrint         += "Zeit: " + wpsyn.WPSKursZeit + " ";
                                PrintTxtUnten("Anleihe Zeit  : " + wpsyn.WPSKursZeit);
                            }
                            else
                            {
                                MessageBox.Show("Fehler match0 KursDatum.!!!!!!");
                            }
                        }
                        // NOCH %
                        Console.WriteLine(strPrint);
                        return;
                    }
                    else                // ---- Wertpapier ----
                    // /101,67EUR/0,18EUR/0,18%/22.11.2018/NAV/NAV/
                    {
                        string str       = StrArr[0];                                   // /103,26EUR/-1,04EUR/-1,00%/15.11.2018/NAV/NAV/
                        string StrBetrag = str.Substring(0, str.Length - 3);
                        wpsyn.WPSWährung = "EUR";                                       // Währung
                        if (StrArr[0].Contains("USD"))
                        {
                            wpsyn.WPSWährung = "USD";
                        }
                        Match match0 = regBetrag.Match(StrBetrag);                     // Kurs Format 2
                        if (match0.Success)
                        {
                            wpsyn.WPSKurs = Convert.ToSingle(match0.Value);
                            strPrint     += "Kurs: " + wpsyn.WPSWährung + " " + wpsyn.WPSKurs + " ";
                        }
                        else
                        {
                            match0 = regBetrag.Match(StrBetrag);                       // Kurs Format 1
                            if (match0.Success)
                            {
                                wpsyn.WPSKurs = Convert.ToSingle(match0.Value);
                                strPrint     += "Kurs: " + wpsyn.WPSWährung + " " + wpsyn.WPSKurs + " ";
                            }
                            else
                            {
                                MessageBox.Show("Fehler Kurs !!!!!!!!!!!!! ");
                            }
                        }
                        Match match1 = regBetrag.Match(StrArr[1]);                     // Diff Euro  (nicht gebraucht)
                        if (match1.Success)
                        {
                            float diffEur = Convert.ToSingle(match1.Value);
                            strPrint += "Diff-EUR: " + diffEur + " ";
                        }
                        else
                        {
                            MessageBox.Show("Fehler Diff-EUR!!!!!!!!!!!!! ");
                        }
                        Match match2 = regBetrag.Match(StrArr[2]);                     // Diff %
                        if (match2.Success)
                        {
                            float diffProz = Convert.ToSingle(match2.Value);
                            wpsyn.WPSProzentAenderung = diffProz;
                            strPrint += "Diff-%: " + diffProz + " ";
                        }
                        else
                        {
                            MessageBox.Show("Fehler Diff-%!!!!!!!!!!!!! ");
                        }
                        Match match3    = regDatumJJJJ.Match(StrArr[3]);                    // KursDatum
                        Match matchZeit = null;
                        if (match3.Success)
                        {
                            wpsyn.WPSKursZeit = Convert.ToDateTime(match3.Value);
                            if (matchZeit != null)
                            {
                                wpsyn.WPSKursZeit = Convert.ToDateTime(match3.Value + " " + matchZeit.Value);
                            }
                            strPrint += " Datum  : " + wpsyn.WPSKursZeit;
                        }
                        else
                        {
                            matchZeit = regZeit.Match(StrArr[3]);                       // KursZeit
                            if (matchZeit.Success)
                            {
                                DateTime dt = wpsyn.WPSKursZeit;
                                wpsyn.WPSKursZeit = Convert.ToDateTime(dt.Day + "." + dt.Month + "." + dt.Year + " " + matchZeit.Value);
                                strPrint         += "Zeit: " + wpsyn.WPSKursZeit + " ";
                            }
                            else
                            {
                                MessageBox.Show("Fehler Match KursDatum/Zeit !!!!!!");
                            }
                        }   // else
                        PrintTxtUnten(strPrint);
                        strPrint = "";
                    } // Anleihe / Wertpapier
                }     // foreach node2
            }         // foreach node1
            n2 = 0;
            float Sharpe = GetSharpeRatio(doc, SearchV.textSharpeRatio1, SearchV.textSharpeRatio2);

            wpsyn.WPSSharpe = Sharpe;
        }