Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
 private void Close_Window(object sender, System.ComponentModel.CancelEventArgs e)
 {
     DataSetAdmin.dtVorgabeInt2 = dtVorgabe;
     DataSetAdmin.DatasetSichernInXml(Helpers.GlobalRef.g_Ein.MyDataPfad);
     //mel.Close();
 }
Ejemplo n.º 6
0
        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();
        }