private void BtSpeichern_Click(object sender, RoutedEventArgs e) { // In _wertpap[nwp] stehen die Änderungen. NOCH weitere Änderungen übernehmen bool geändert = false; if ((string)_rowPortFol["WPName"] != _wertpap[_nwp].Name) { MessageBox.Show("Der WPName wird übernommen! " + _wertpap[_nwp].Name + " Alt: " + _rowPortFol["WPName"] + " Neu: " + _wertpap[_nwp].Name); _rowPortFol["WPName"] = _wertpap[_nwp].Name; geändert = true; } if ((double)_rowPortFol["WPKaufsumme"] != _wertpap[_nwp].Kaufsumme) { System.Windows.MessageBox.Show("WPKaufsumme wird übernommen! " + _wertpap[_nwp].Name + " Alt: " + _rowPortFol["WPKaufsumme"] + " Neu: " + _wertpap[_nwp].Kaufsumme); _rowPortFol["WPKaufsumme"] = _wertpap[_nwp].Kaufsumme; geändert = true; } if ((DateTime)_rowPortFol["WPKaufDatum"] != _wertpap[_nwp].KaufDatum) { MessageBox.Show("WPKaufDatum wird übernommen! " + _wertpap[_nwp].Name + " Alt: " + _rowPortFol["WPKaufDatum"] + " Neu: " + _wertpap[_nwp].KaufDatum); _rowPortFol["WPKaufDatum"] = _wertpap[_nwp].KaufDatum; geändert = true; } if ((string)_rowPortFol["WPUrlText"] != _wertpap[_nwp].URL) { MessageBox.Show("WPUrlText wird übernommen! " + _wertpap[_nwp].Name + " Alt: " + _rowPortFol["WPUrlText"] + " Neu: " + _wertpap[_nwp].URL); _rowPortFol["WPUrlText"] = _wertpap[_nwp].URL; geändert = true; } if (geändert == true) { MessageBox.Show("---- Bearbeiten: DatasetSichernInXml()"); DataSetAdmin.DatasetSichernInXml(Helpers.GlobalRef.g_Ein.MyDataPfad); } }
private void UpdatedtPortFol() { // WPKurs WPStand WPProzentAenderung WPSharpe Console.WriteLine("---- KontenSynchronisierenInt.UpdatedtPortFol() WPKurs WPStand WPProzentAenderung WPSharpe ----"); dtPortFol = DataSetAdmin.dsHier.Tables["tblPortFol"]; string strISIN = ""; foreach (WertpapSynchro wps in _wertpapsynchro) { strISIN = wps.WPSISIN; if (strISIN.Length != 12) { continue; } Console.Write("Änd: {0,-50} ", wps.WPSName); //if (wps.WPSName.StartsWith("JPM-")) // Console.WriteLine(); DataRow dtrow = dtPortFol.Rows.Find(strISIN); if (wps.WPSKursZeit != (DateTime)dtrow["WPStand"]) { Console.Write("KursZeit alt: {0,-12} neu: {1,-12}", (DateTime)dtrow["WPStand"], wps.WPSKursZeit); dtrow["WPStand"] = wps.WPSKursZeit; } if (wps.WPSWährung == null) { wps.WPSWährung = "EUR"; } if (wps.WPSWährung == "USD") { wps.WPSKurs = Helpers.GlobalRef.g_mw.USDtoEuro(wps.WPSKurs); // 51.5064 = 55.04 83.41 = } else if (wps.WPSWährung == "EUR") { } else if (wps.WPSWährung == "%") { } else { MessageBox.Show("KontenSynchronisierenInt() UpdatedtPortFol() Fehler: wps.WPSWährung: " + wps.WPSWährung); continue; } if (wps.WPSKurs != (float)dtrow["WPKurs"]) { Console.Write("Kurs alt: {0,-12} neu: {1,-12}", (float)dtrow["WPKurs"], wps.WPSKurs); dtrow["WPKurs"] = wps.WPSKurs; } if (wps.WPSProzentAenderung != (float)dtrow["WPProzentAenderung"]) { Console.Write("%Änd alt: {0,-12} neu: {1,-12}", (float)dtrow["WPProzentAenderung"], wps.WPSProzentAenderung); dtrow["WPProzentAenderung"] = wps.WPSProzentAenderung; } if (wps.WPSSharpe != (float)dtrow["WPSharpe"]) { Console.Write("Sharpe alt: {0,-12} neu: {1,-12}", (float)dtrow["WPSharpe"], wps.WPSSharpe); dtrow["WPSharpe"] = wps.WPSSharpe; } Console.WriteLine(); } DataSetAdmin.dtPortFol = dtPortFol; DataSetAdmin.DatasetSichernInXml(@"D:\MeineFinanzen"); }
public void Ausführen() { txtUnten.Clear(); txtUnten.FontSize = 10; txtUnten.FontFamily = new FontFamily("Courier New, Verdana"); PrintTxtUnten("Start -KontenAusInternetSynchronisieren-2-"); DateTime dt = DataSetAdmin.HolenAusXml(Helpers.GlobalRef.g_Ein.MyDataPfad); if (dt == null) { MessageBox.Show("MeineFinanzen HauptFenster.xaml.cs HauptFenster() Fehler HolenAusXml() DataSetAdmin"); MessageBox.Show("MyPortfolio Fehler!! Dateien nicht geladen!!!!"); Close(); } PrintTxtUnten(dt.ToString()); // DataColumn[] keys = new DataColumn[1]; // keys[0] = DataSetAdmin.dtPortFol.Columns["WPIsin"]; // DataSetAdmin.dtPortFol.PrimaryKey = keys; // NOCH Visibility = Visibility.Visible; WindowState = WindowState.Maximized; string[] _strurl = new string[3]; _strurl[0] = "http://www.finanztreff.de"; _strurl[1] = "http://waehrungen.finanztreff.de/devisen_uebersicht.htn"; // USD ... _strurl[2] = "http://waehrungen.finanztreff.de/devisen_einzelkurs_uebersicht,i,2079609.html"; // nur SGD string[] _strWohin = new string[3]; _strWohin[0] = "MarktÜberblick"; _strWohin[1] = "USD"; _strWohin[2] = "SGD"; string strx = _strFile + _strWohin[0] + ".html"; if (!File.Exists(strx)) { File.Create(strx); } //DateTime dtLastWriteTime = File.GetLastWriteTime(strx); string _url = ""; for (int lop = 0; lop < 3; lop++) { _url = _strurl[lop]; string strFile = _strFile + _strWohin[lop] + ".html"; WebClient wclient1 = new WebClient(); wclient1.DownloadFile(new Uri(_url), strFile); } dtPortFol = DataSetAdmin.dsHier.Tables["tblPortFol"]; // dtPortFol geholt. foreach (DataRow dr in dtPortFol.Rows) { Wertpapierklasse typeid = (Wertpapierklasse)dr["WPTypeID"]; //if (typeid != Wertpapierklasse.Anleihe) // continue; if (typeid < Wertpapierklasse.MinWertpap || typeid > Wertpapierklasse.MaxWertpap) { continue; } if (dr["WPISIN"].ToString().Length != 12) { continue; } _wertpapsynchro.Add(new WertpapSynchro { WPSAnzahl = Convert.ToSingle(dr["WPAnzahl"]), WPSName = dr["WPName"].ToString(), WPSKursZeit = Convert.ToDateTime(dr["WPStand"]), WPSISIN = dr["WPISIN"].ToString(), WPSURL = dr["WPUrlText"].ToString(), WPSKurs = Convert.ToSingle(dr["WPKurs"]), WPSProzentAenderung = Convert.ToSingle(dr["WPProzentAenderung"]), WPSType = (Wertpapierklasse)Convert.ToInt32(dr["WPTypeID"]), WPSSharpe = Convert.ToSingle(dr["WPSharpe"]), WPURLSharp = dr["WPUrlSharpe"].ToString(), WPXPathKurs = dr["WPXPathKurs"].ToString(), WPXPathAend = dr["WPXPathAend"].ToString(), WPXPathZeit = dr["WPXPathZeit"].ToString(), WPXPathSharp = dr["WPXPathSharp"].ToString(), WPSColor = "0" }); } progrBar.Maximum = _wertpapsynchro.Count; Progress = 1; Minimum = 0; Maximum = _wertpapsynchro.Count; do { } while (LosGehts(true)); }
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 Close_Window(object sender, System.ComponentModel.CancelEventArgs e) { DataSetAdmin.dtVorgabeInt2 = dtVorgabe; DataSetAdmin.DatasetSichernInXml(Helpers.GlobalRef.g_Ein.MyDataPfad); //mel.Close(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { ConWrLi("---- -84- Zahlungen Window_Loaded"); int anz = 0; double wert = 0; //string[] sArr = new string[] { "nix", "ZINSEN/DIVIDENDE", "WERTPAPIERZAHLUNG", "STORNO" }; foreach (Model.Wertpapier wp in DgBanken._wertpapiere) { if (wp.ISIN.Length != 12) { continue; } if (wp.ISIN.Contains("7483612")) { Console.WriteLine("wp: {0} DE0007483612", wp.Name); } foreach (Model.Kontoumsatz ku in _kontoumsätze) { if (!ku.PaymtPurpose.Contains(wp.ISIN)) { continue; } if (ku.PaymtPurpose.Contains("7483612")) { Console.WriteLine("\tku: {0} DE0007483612 knr: {1} name1: {2} name2: {3}", ku.BankCode, ku.Kontonummer, ku.Name1, ku.Name2); } //Debug.WriteLine("---- -85-1- Zahlungen ISIN: " + wp.ISIN + " EntryText: " + ku.EntryText + " PaymtPurpose: " + ku.PaymtPurpose); if ((!ku.EntryText.Contains("ZINSEN/DIVIDENDE")) && (!ku.EntryText.Contains("WERTPAPIERZAHLUNG")) && (!ku.EntryText.Contains("STORNO")) && (!ku.EntryText.Contains("WERTP. ABRECHN.")) && (!ku.EntryText.Contains("WERTPAPIERE")) && (!ku.PaymtPurpose.Contains("Wertpapierertrag")) && (!ku.PaymtPurpose.Contains("STEUERAUSGLEICH")) && (!ku.PaymtPurpose.Contains("WERTP. ABRECHN.")) && (!ku.PaymtPurpose.Contains("Wertp.Abrechn."))) { // DEPOT 700617681|WERTP. ABRECHN. 25.03.15|000006030110100 WKN A0YJMG|GESCH.ART KV|WHC - GLOBAL DISCOVERY|DE000A0YJMG1 // Depot 0700617681|Wertp.Abrechn. 22.09.2016|000001067448600 WKN A1JRQD|Gesch.Art KV|4Q-SPECIAL INCOME EUR(R)|ISIN DE000A1JRQD1 continue; } //Console.WriteLine("++++ -85-2- Zahlungen ISIN: " + wp.ISIN + " EntryText: " + ku.EntryText + " PaymtPurpose: " + ku.PaymtPurpose); ++anz; wert = Convert.ToDouble(ku.Value); _zahlungen.Add(new Model.Zahlung { Anzahl = wp.Anzahl.ToString(), Isin = wp.ISIN, Name = wp.Name, EntryDate = ku.EntryDate, ValueDate = ku.ValueDate, Value = ku.Value, AcctNo = ku.AcctNo, BankCode = ku.BankCode, Name1 = ku.Name1, Name2 = ku.Name2, PaymtPurpose = ku.PaymtPurpose, EntryText = ku.EntryText, PrimaNotaNo = ku.PrimaNotaNo, TranTypeIdCode = ku.TranTypeIdCode, ZkaTranCode = ku.ZkaTranCode, TextKeyExt = ku.TextKeyExt, BankRef = ku.BankRef, OwnerRef = ku.OwnerRef, SupplementaryDetails = ku.SupplementaryDetails }); DateTime dat = Convert.ToDateTime(ku.ValueDate); string strDate = dat.ToString("dd.MM.yy"); isins.Add(new ISIN { Isin = wp.ISIN, Name = wp.Name, eingefügt = false, Datum = strDate, Anzahl = anz, Wert = wert, EntryText = ku.EntryText, PaymtPurpose = ku.PaymtPurpose }); if (wp.ISIN.Contains("DE0007483612")) { Console.WriteLine("B-DE0007483612: " + wert + " " + strDate + " " + wp.Name); } } if (anz > 0) { isins.Add(new ISIN { Isin = "", Name = "------", Anzahl = 0, Wert = 0 }); } anz = 0; wert = 0; } ICollectionView cvZahlungen = CollectionViewSource.GetDefaultView(gridZahlungen.ItemsSource); cvZahlungen.GroupDescriptions.Clear(); gridZahlungen.ItemsSource = _zahlungen; gridWP.ItemsSource = isins; foreach (ISIN isi in isins) { if (isi.Name == "------") { continue; } bool einfügen = true; foreach (DataRow dr in DataSetAdmin.dtPortFolBew.Rows) { if (System.DBNull.Value.Equals(dr["isin"])) { continue; } if ((string)dr["isin"] != isi.Isin) { continue; } foreach (DataRow dr2 in DataSetAdmin.dtPortFolBew.Rows) { if (dr2["ISIN"].ToString() == isi.Isin) { if (dr2["Datum"].ToString() == isi.Datum) { einfügen = false; break; } } } } if (einfügen) { DataRow newRow = DataSetAdmin.dtPortFolBew.NewRow(); newRow["ID"] = rand.Next(); newRow["ISIN"] = isi.Isin; newRow["Name"] = isi.Name; newRow["Datum"] = isi.Datum; newRow["Betrag"] = isi.Wert; newRow["IDvomGiroKto"] = 0; newRow["Feld1"] = isi.EntryText; newRow["IDvomWP"] = 0; newRow["Text1"] = isi.PaymtPurpose; try { DataSetAdmin.dtPortFolBew.Rows.Add(newRow); isi.eingefügt = true; } catch (Exception ex) { // Die Spalte 'ISIN, Datum, Text1' hat die Einschränkung, dass sie eindeutig sein muss. // Der Wert 'DE000A0YJMG1, 15.02.2017 00:00:00, Depot 0700617681|Wertpapierertrag 14.02.2017|000054528021880 // WKN A0YJMG|WHC - GLOBAL DISCOVERY|ISIN DE000A0YJMG1' ist bereits vorhanden. Console.WriteLine("Fehler in .Rows.Add:" + ex); Console.WriteLine("{0} {1} {2} {3} {4}", isi.Isin, isi.Name, isi.eingefügt, isi.Datum, isi.Wert); break; } } } DataSetAdmin.DatasetSichernInXml(Helpers.GlobalRef.g_Ein.MyDataPfad); this.Close(); }