private void AddliVorgTodtVorgabe(List <UrlVerwalten> liVorg, UrlVerwalten Vorg) { DataRow newRow = DataSetAdmin.dtVorgabeInt2.NewRow(); newRow["Url1"] = Vorg.Url1; newRow["Url2"] = Vorg.Url2; newRow["Boxanfang"] = Vorg.Boxanfang; newRow["Ausschluss1"] = Vorg.Ausschluss1; newRow["Wert1"] = Vorg.Wert1; newRow["Wert2"] = Vorg.Wert2; newRow["Wert3"] = Vorg.Wert3; newRow["Wert4"] = Vorg.Wert4; try { dtVorgabe.Rows.Add(newRow); } catch (Exception ex) { System.Windows.MessageBox.Show("Fehler in AddliVorgTodtVorgabe(): " + ex); Console.WriteLine("Fehler in AddliVorgTodtVorgabe(): " + ex); } }
public void VorgabeParameterBearbeiten() { liVorg.Clear(); DateTime dt = DataSetAdmin.HolenAusXml(Helpers.GlobalRef.g_Ein.MyDataPfad); if (dt == null) { System.Windows.Forms.MessageBox.Show("MeineFinanzen VorgabeParameterBearbeiten.xaml.cs Fehler HolenAusXml() DataSetAdmin"); System.Windows.Forms.MessageBox.Show("MeineFinanzen Fehler!! Dateien nicht geladen!!!!"); Close(); } dtPortFol = DataSetAdmin.dsHier.Tables["tblPortFol"]; // dtPortFol geholt. foreach (DataRow dr in dtPortFol.Rows) // _wertpapsynchroneu erstellen { int typeid = (int)dr["WPTypeID"]; if (typeid <= 10 || typeid >= 80) { continue; } if (dr["WPISIN"].ToString().Length != 12) { continue; } _wertpapsynchroneu.Add(new WertpapSynchroNeu { WPVAnzahl = Convert.ToSingle(dr["WPAnzahl"]), WPVName = dr["WPName"].ToString(), WPVKursZeit = Convert.ToDateTime(dr["WPStand"]), WPVISIN = dr["WPISIN"].ToString(), WPVURL = dr["WPUrlText"].ToString(), WPVKurs = Convert.ToDouble(dr["WPKurs"]), WPVProzentAenderung = Convert.ToDouble(dr["WPProzentAenderung"]), WPVType = Convert.ToInt32(dr["WPTypeID"]), WPVSharpe = Convert.ToSingle(dr["WPSharpe"]), WPVURLSharp = dr["WPUrlSharpe"].ToString(), WPVRowColor = "1", WPVKursNeu = 0, WPVKursZeitNeu = Convert.ToDateTime("01.01.1970"), WPVProzentAenderungNeu = 0, WPVSharpeNeu = 0 }); } dgvUrls.ItemsSource = _wertpapsynchroneu; dgvUrls.UpdateLayout(); dtVorgabe = DataSetAdmin.dsHier.Tables["tblVorgabeInt2"]; // dtVorgabeInt2 geholt. // dtVorgabe.Clear(); dtVorgabe.PrimaryKey = new DataColumn[] { dtVorgabe.Columns["Url1"], dtVorgabe.Columns["Url2"] }; // ---- Datensätze erstellen falls sie nicht vorhanden sind in liVorg. ---- if (dtVorgabe.Rows.Count == 0) { DataRow newRow = DataSetAdmin.dtVorgabeInt2.NewRow(); // Standard Basissatz erstellen. newRow["Url1"] = "https://www.finanzen.net/"; newRow["Url2"] = "fonds"; newRow["Boxanfang"] = "row quotebox"; newRow["Ausschluss1"] = "Kurse"; newRow["Wert1"] = "Kursdatum"; newRow["Wert2"] = "Kurszeit"; newRow["Wert3"] = "Kurs"; newRow["Wert4"] = ""; newRow["Vg2Color"] = "2"; dtVorgabe.Rows.Add(newRow); } // ---- liVorg für dgvVorgabeInt2 erstellen ---- for (int i = dtVorgabe.Rows.Count - 1; i >= 0; i--) { DataRow dr = dtVorgabe.Rows[i]; //foreach (DataRow dr in dtVorgabeLoop.Rows) { Vorg = new UrlVerwalten { Url1 = dr["Url1"].ToString(), Url2 = dr["Url2"].ToString(), Boxanfang = dr["Boxanfang"].ToString(), Ausschluss1 = dr["Ausschluss1"].ToString(), Wert1 = dr["Wert1"].ToString(), Wert2 = dr["Wert2"].ToString(), Wert3 = dr["Wert3"].ToString(), Wert4 = dr["Wert4"].ToString() }; liVorg.Add(Vorg); } // ---- In dgvUrl Color auf 'Eingefügt' setzen, wenn kein Vogabesatz vorhanden. string[] splitUrls = null; string[] splitVorg = null; foreach (WertpapSynchroNeu wps in _wertpapsynchroneu) { splitUrls = wps.WPVURL.Split('/'); bool gef = false; if (splitUrls.Length < 3) { continue; // wp ohne url } foreach (UrlVerwalten vg in liVorg) { splitVorg = vg.Url1.Split('/'); // https leer www.finanzen.net leer if (splitUrls[2] == splitVorg[2] && splitUrls[3] == vg.Url2) { // www.finanzen.net == dto && fonds == fonds gef = true; break; } } if (!gef) { // ---- Und jetzt fehlenden Satz in liVorg erstellen. ---- string[] splitUrls2 = wps.WPVURL.Split('/'); Vorg = new UrlVerwalten { Url1 = splitUrls2[0] + "//" + splitUrls2[2] + "/", Url2 = splitUrls2[3], Boxanfang = "", Ausschluss1 = "", Wert1 = "", Wert2 = "", Wert3 = "", Wert4 = "", Vg2Color = "0" }; liVorg.Add(Vorg); AddliVorgTodtVorgabe(liVorg, Vorg); } } Meldung("VorgabeParameter aufgebaut."); dgvUrls.ItemsSource = null; dgvUrls.ItemsSource = _wertpapsynchroneu; dgvUrls.EnableRowVirtualization = false; dgvUrls.UpdateLayout(); dgvVorgabeInt2.ItemsSource = null; dgvVorgabeInt2.ItemsSource = liVorg; dgvVorgabeInt2.EnableRowVirtualization = false; dgvVorgabeInt2.UpdateLayout(); DoEvents(); }
private void DgvUrls_PreviewMouseDown(object sender, MouseButtonEventArgs e) { DependencyObject dep = (DependencyObject)e.OriginalSource; while ((dep != null) && !(dep is System.Windows.Controls.DataGridCell)) { dep = VisualTreeHelper.GetParent(dep); } if (dep == null) { return; } dgRow1 = dep as DataGridRow; while ((dep != null) && !(dep is DataGridRow)) { dep = VisualTreeHelper.GetParent(dep); } dgRow1 = dep as DataGridRow; if (dgRow1 == null) { return; } if (e.RightButton == MouseButtonState.Pressed) { return; } ResetDgRow(); _ColHeaderVorgabe = null; System.Windows.Controls.DataGrid dataGrid = ItemsControl.ItemsControlFromItemContainer(dgRow1) as System.Windows.Controls.DataGrid; WertpapSynchroNeu wpsn = (WertpapSynchroNeu)dataGrid.ItemContainerGenerator.ItemFromContainer(dgRow1); //System.Windows.Controls.DataGridCell cell1 = dep as System.Windows.Controls.DataGridCell; //Console.WriteLine("cell1.Column.Header: {0} Color: {1}", cell1.Column.Header, wpsn.WPVRowColor); dgRow1.DetailsVisibility = Visibility.Visible; dgRow1.Background = new SolidColorBrush(Colors.LightYellow); _Url1 = wpsn.WPVURL; Meldung("Ok, ausgewählt: " + _Url1); wb1.Navigate(new Uri(_Url1)); while (wb1.IsBusy || wb1.ReadyState != WebBrowserReadyState.Complete) { DoEvents(); } // ---- Vorgabe-Parametersatz in dgvVorgabeInt2 suchen ---- int iSearch = 0; char[] charSeparators = new char[] { '/' }; string[] url1split = _Url1.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries); UrlVerwalten vor = null; Console.WriteLine("---- gesucht wird in DataGrid-Vorgabe: _Url1:{0} _Url2: {1}", _Url1, _Url2); foreach (UrlVerwalten vor1 in liVorg) { if (vor1.Url1 == url1split[0] + @"//" + url1split[1] + @"/" && vor1.Url2 == url1split[2]) // https://www.finanzen.net/ == https://www.finanzen.net/ etf leer { vor = vor1; Console.WriteLine("---- Url1 gefunden: {0} Url2: {1} Wert1: {2} Wert2: {3}", vor.Url1, vor1.Url2, vor1.Wert1, vor1.Wert2); if (vor1.Wert1 == string.Empty) { Meldung("Wert1 muß eingegeben werden!"); iSearch = 4; } else { if (vor.Url2 == url1split[2]) { AddTextStr("---- Url2 gefunden: " + vor.Url2); _BoxAnfang = vor.Boxanfang; // "row quotebox"; _TxtKurse = vor.Ausschluss1; // "Kurse"; _TxtKursdatum = vor.Wert1; // "Kursdatum"; _TxtKurszeit = vor.Wert2; // "Kurszeit"; _TxtKurs = vor.Wert3; // "Kurs"; iSearch = SearchWebPageHIER(_Url1, _BoxAnfang, _TxtKurse, _TxtKurszeit, _TxtKursdatum, _TxtKurs, ref wpsn); if (iSearch == 1) { AddTextStr("Ok. 1."); } else { Meldung("!!!! Nee, Die Suche nach Kurs... im WEB war nicht erfolgreich. !!!! : " + iSearch); } } } } } // foreach vor1 vor.Vg2Color = iSearch.ToString(); //if (iSearch == 1) // AddTextStr("Ok. 2."); //else // Meldung("!!!! Nee Fehler 2.!!!! FehlerNummer: " + iSearch); dgvVorgabeInt2.ItemsSource = null; dgvVorgabeInt2.ItemsSource = liVorg; dgvVorgabeInt2.EnableRowVirtualization = false; dgvVorgabeInt2.UpdateLayout(); Meldung("Suchargumente anlegen/ändern."); borderCombo.Background = new SolidColorBrush(Colors.LightGreen); }