public Wertpapier HoleVortagesDatenALT() { // Suchen bis Datum kleiner ist als Heute. Wertpapier wpVorher = null; string s = ""; string pfad = ""; DateTime dt = DateTime.Now; for (int i = 1; i < 50; i++) { s = (dt - new TimeSpan(i, 0, 0, 0, 0)).ToString(); pfad = Helpers.GlobalRef.g_Ein.MyDataPfad + @"MyDepot\KursDaten\PortFol_" + s.Substring(6, 4) + s.Substring(3, 2) + s.Substring(0, 2) + ".xml"; bool gef = File.Exists(pfad); if (gef) { break; } } //while (!gefunden); //!File.Exists(pfad)); //XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<Wertpapier>)); XmlSerializer ser = null; try { ser = new XmlSerializer(typeof(CollWertpapiere)); } catch (Exception ex) { MessageBox.Show("holeVortagesDaten() Fehler: " + ex); return(wpVorher); } using (Stream rd = new FileStream(pfad, FileMode.Open)) { wpVorher = (Wertpapier)ser.Deserialize(rd); } //Debug.WriteLine(wpVorher[0]); return(wpVorher); }
/* public Wertpapier hole0101Wertpapier_ALT(string isin) { * XmlSerializer xmlserializer = new XmlSerializer(typeof(CollWertpapiere)); * CollWertpapiere wp; * string pfad = Helpers.GlobalRef.g_Ein.myDataPfad + @"MyDepot\KursDaten"; * DirectoryInfo ParentDirectory = new DirectoryInfo(pfad); * FileInfo[] fis = ParentDirectory.GetFiles(); * DateTime dtvj = DateTime.Now.Date.AddYears(-1); * string strvor1j = "PortFol_" + dtvj.Year.ToString("0000") + dtvj.Month.ToString("00") + dtvj.Day.ToString("00") + ".xml"; * string strvj = ""; * int vgl = 0; * foreach (FileInfo fi in fis) { * vgl = string.Compare(strvor1j, fi.Name); * if (vgl != 1) { * strvj = fi.Name; * break; * } * } * using (Stream reader = new FileStream(pfad + @"\" + strvj, FileMode.Open)) { * wp = (CollWertpapiere)xmlserializer.Deserialize(reader); * } * foreach (Wertpapier wp1 in wp) * if (wp1.ISIN == isin) * return wp1; * return null; * } */ public Wertpapier HoleVortagesDatenXX() { // C :\U sers\LuKe\Documents\MeineFinanzen\MyDepot\KursDaten\PortFol_20151019 (2015_10_21 10_17_02 UTC).xml Wertpapier wpVorher = null; //string s = ""; string pfad = ""; DateTime dt = DateTime.Now; string[] arrFiles; int nFiles = 0; pfad = Helpers.GlobalRef.g_Ein.MyDataPfad + @"MyDepot\KursDaten"; //\PortFol_" + s.Substring(6, 4) + s.Substring(3, 2) + s.Substring(0, 2) + ".xml"; foreach (string fi in Directory.GetFiles(pfad)) { FileInfo fsi = new FileInfo(fi); if ((fsi.Attributes & FileAttributes.Directory) == 0) { if (fsi.Name.Length >= 16) { if (fsi.Name.Substring(0, 8) == "PortFol_") { if (fsi.Name.Contains(".xml")) { nFiles++; // nur Zählen } } } } } Console.WriteLine("nFiles: {0}", nFiles); arrFiles = new string[nFiles]; int nF = 0; foreach (string fi in Directory.GetFiles(pfad)) { FileInfo fsi = new FileInfo(fi); if ((fsi.Attributes & FileAttributes.Directory) == 0) { if (fsi.Name.Length >= 8) { if (fsi.Name.Substring(0, 8) == "PortFol_") { Console.WriteLine("{0} {1}", nF, fsi.Name); if (fsi.Name.Contains(".xml")) { //PortFol_20150901 //if (!fsi.Name.Contains("_2015")) // continue; Console.WriteLine("{0} {1}", nF, fsi.Name); arrFiles[nF++] = fsi.Name.Substring(0, 16); // füllen } } } } } IComparer myComparer = new MyReverserClass(); Array.Sort(arrFiles, myComparer); // NOCH pfad setzen XmlSerializer ser = new XmlSerializer(typeof(CollWertpapiere)); using (Stream rd = new FileStream(pfad, FileMode.Open)) { wpVorher = (Wertpapier)ser.Deserialize(rd); } //Debug.WriteLine(wpVorher[0]); return(wpVorher); }
public void ErstelleDgBankenWertpapiere(View.HauptFenster mw) { mw.tabWertpapiere.Visibility = Visibility.Visible; mw.dgWertpapiere.EnableRowVirtualization = false; DgBanken._wertpapiere = (CollWertpapiere)mw.Resources["wertpapiereXXX"]; if (mw.dgWertpapiere.Items.Count > 1) { DgBanken._wertpapiere.Clear(); } ICollectionView cvWertpapiere = CollectionViewSource.GetDefaultView(mw.dgWertpapiere.ItemsSource); if (cvWertpapiere != null) { cvWertpapiere.GroupDescriptions.Clear(); } ConWrLi("---- -TW1- In TabWertpapiere"); mw.dgWertpapiere.UpdateLayout(); ConWrLi("---- -TW2- "); typeid = -1; FelderLöschen(); //wpVorher = null; // NOCH holeVortagesDaten(); DataTable dtt2 = new DataTable(); DataSetAdmin.dvPortFol.Sort = "WPTypeID"; DataSetAdmin.dtPortFol.DefaultView.Sort = "WPTypeID ASC"; dtt2 = DataSetAdmin.dtPortFol.DefaultView.ToTable(); DataSetAdmin.dtPortFol = dtt2; ConWrLi("---- -TW3- "); for (int ir = 0; ir < DataSetAdmin.dtPortFol.Rows.Count; ir++) { if (typeid == -1) { typeid = (int)DataSetAdmin.dtPortFol.Rows[ir]["WPTypeID"]; } ak = DataSetAdmin.dvAnlKat.Find(typeid); aKKurz = Convert.ToString(DataSetAdmin.dvAnlKat[ak]["AKKurz"]); aKName = Convert.ToString(DataSetAdmin.dvAnlKat[ak]["AKName"]); if (typeid != (int)DataSetAdmin.dtPortFol.Rows[ir]["WPTypeID"]) { //Console.WriteLine("typeid1 wechsel typeid:{0} ir:{1} aKName:{2} type:{3}", typeid, ir, aKName, typeid); AnzeigenSummen2(aKName); typeid = (int)DataSetAdmin.dtPortFol.Rows[ir]["WPTypeID"]; ak = DataSetAdmin.dvAnlKat.Find(typeid); aKKurz = Convert.ToString(DataSetAdmin.dvAnlKat[ak]["AKKurz"]); aKName = Convert.ToString(DataSetAdmin.dvAnlKat[ak]["AKName"]); } float anzahl = (float)DataSetAdmin.dtPortFol.Rows[ir]["WPAnzahl"]; name = (string)DataSetAdmin.dtPortFol.Rows[ir]["WPName"]; string iSIN = (string)DataSetAdmin.dtPortFol.Rows[ir]["WPISIN"]; Zahlungen(iSIN, out suZahlungenlfdJ, out suZahlungenAlle); suzahlungen = suZahlungenAlle; string kontoNr = ""; kontoNr = (string)DataSetAdmin.dtPortFol.Rows[ir]["WPKontoNr"]; aktKurs = Convert.ToDouble(DataSetAdmin.dtPortFol.Rows[ir]["WPKurs"]); if (typeid == GeldKto) { foreach (var ban in DgBanken.banken) { foreach (BankKonten bako in ban.OCBankKonten) { if (kontoNr == bako.KontoNr8) { aktKurs = Convert.ToDouble(bako.KontoValue8); break; } } } } kursVorher = Convert.ToDouble(DataSetAdmin.dtPortFol.Rows[ir]["WPKursVorher"]); double ertrLZE = 0; suAktuWert = anzahl * aktKurs; suKaufWert = (double)DataSetAdmin.dtPortFol.Rows[ir]["WPKaufSumme"]; suErtrag = suAktuWert + suZahlungenAlle - suKaufWert; float heute = 0; try { heute = (Single)DataSetAdmin.dtPortFol.Rows[ir]["WPProzentAenderung"]; } catch (Exception) { heute = 0; } double rend = 0; if (suKaufWert != 0) { if (typeid == Anleihe) { rend = (suErtrag * 100 / suKaufWert); } else { rend = ((suAktuWert + suZahlungenAlle - suKaufWert) * 100 / suKaufWert); } } float rend1j; //su0101Wert = (double)(DataSetAdmin.dtPortFol.Rows[ir]["WP0101Summe"]); Wertpapier wp1 = Hole0101Wertpapier(iSIN); su0101Wert = 0; if (wp1 != null) { su0101Wert = wp1.Anzahl * wp1.AktKurs; } //Console.WriteLine("{0} {1,-60} {2,-20} {3,-20} {4,-16} {5,-4} {6,-12}", // wp1.KursZeit, wp1.Name, wp1.ISIN, wp1.KaufDatum, wp1.Kaufsumme, wp1.Type, su0101Wert); rend1j = 0; if (su0101Wert != 0) { rend1j = (float)((suAktuWert + suZahlungenlfdJ - su0101Wert) * 100.00 / su0101Wert); } DateTime kursZeit = DateTime.Today; DateTime kaufDatum = Convert.ToDateTime("01.01.1980"); int depotID = 0; float zinssatz = 0; DateTime abDatum = Convert.ToDateTime("01.01.1980"); DateTime bisDatum = Convert.ToDateTime("01.01.1980"); float sharpe = 0; string url = ""; if (typeid == GeldKto) { kursZeit = (DateTime)DataSetAdmin.dtPortFol.Rows[ir]["WPStand"]; rend1j = 0; rend = 0; kaufSumme = 0; suErtrag = 0; depotID = (int)DataSetAdmin.dtPortFol.Rows[ir]["WPDepotID"]; //aktKurs = Convert.ToSingle(DataSetAdmin.dtPortFol.Rows[ir]["WPKtoKurs"]); } else { try { kaufDatum = (DateTime)DataSetAdmin.dtPortFol.Rows[ir]["WPKaufDatum"]; kursZeit = (DateTime)DataSetAdmin.dtPortFol.Rows[ir]["WPStand"]; aktKurs = Convert.ToSingle(DataSetAdmin.dtPortFol.Rows[ir]["WPKurs"]); kaufSumme = (double)DataSetAdmin.dtPortFol.Rows[ir]["WPKaufsumme"]; depotID = (int)DataSetAdmin.dtPortFol.Rows[ir]["WPDepotID"]; zinssatz = (float)DataSetAdmin.dtPortFol.Rows[ir]["WPZinsSatz"]; abDatum = (DateTime)DataSetAdmin.dtPortFol.Rows[ir]["WPAbDatum"]; bisDatum = (DateTime)DataSetAdmin.dtPortFol.Rows[ir]["WPBisDatum"]; //if (iSIN == "DE0008490962") // sharpe = (Single)DataSetAdmin.dtPortFol.Rows[ir]["WPSharpe"]; sharpe = (float)DataSetAdmin.dtPortFol.Rows[ir]["WPSharpe"]; url = (string)DataSetAdmin.dtPortFol.Rows[ir]["WPUrlText"]; } catch (Exception ex) { MessageBox.Show("ErstelleDgBankenWertpapiere() Fehler: " + ex); } } if (typeid == Anleihe) { double EffZins = EffektivZins(name, anzahl, suKaufWert, anzahl * 100, bisDatum, zinssatz); double stZins = StueckZins(name, anzahl, suKaufWert, anzahl * 100, bisDatum, zinssatz); aktKurs += stZins; //suAktuWert = anzahl * aktKurs; double suErtragAktWert = suAktuWert + suZahlungenAlle - suKaufWert; // 1. Berechnung für: Bis Laufzeitende halten. ertrLZE = EffZins * suKaufWert / 100; //if (MyPortfolio.glGridAnleihenType == MyPortfolio.BerechnungsmethodeAktuellerWert) suErtrag = suErtragAktWert; // 2. Berechnung für: Aktueller Wert. //if (MyPortfolio.glGridAnleihenType == MyPortfolio.BerechnungsmethodeBesterWert) { if (ertrLZE > suErtrag) // 3. Berechnung für: Bester Wert von 1. und 2. { suErtrag = ertrLZE; } else { suErtrag = suErtragAktWert; } } } string strGrAnz = string.Empty; if (typeid == 80) { strGrAnz = "Nicht anzeigen"; } DgBanken._wertpapiere.Add(new Wertpapier { Anzahl = anzahl, Name = name, Heute = heute, Rend = rend, Rend1J = rend1j, Ertrag = suErtrag, KursZeit = kursZeit, AktKurs = aktKurs, KursVorher = kursVorher, AktWert = suAktuWert, Zahlungen = suzahlungen, //suZahlungenAlle, Kaufsumme = kaufSumme, KaufDatum = kaufDatum, DepotID = depotID, KontoNr = kontoNr, ISIN = iSIN, Type = (int)typeid, AKName = aKName, AKKurz = aKKurz, Zins = zinssatz, AbDatum = abDatum, BisDatum = bisDatum, Sharpe = sharpe, URL = url, IsSumme = false }); suZahlungen2 += suZahlungenAlle; if (typeid != GeldKto) { suKaufWert2 += suKaufWert; } su0101Wert2 += su0101Wert; //Console.WriteLine("{0,36} su0101Wert: {1,10} su0101Wert2: {2,10} su0101Wert3: {3,10}", // name, su0101Wert, su0101Wert2, su0101Wert3); suAktuWert2 += suAktuWert; suErtrag2 += suErtrag; /* if (String.Compare(iSIN, "999") <= 0) * { * suAktuWertOK += suAktuWert; * suZahlungenOK += suZahlungenlfdJ; * suKaufWertOK += suKaufWert; * su0101WertOK += su0101Wert; * suErtragOK += suErtrag; * } */ //Console.WriteLine("{0} {1, -38} {2, -14} {3, 10}", ir, name, iSIN, String.Format("{0:###,##0.00;#0.00-;' '}", suAktuWert)); suZahlungenlfdJ = 0; suAktuWert = 0; suKaufWert = 0; su0101Wert = 0; suErtrag = 0; } // ir ... dtPortFol.Rows.Count // Ende Wertpapiere loop ConWrLi("---- -TW4- "); AnzeigenSummen2(aKName); aKName = "EndSummen"; DgBanken._wertpapiere.Add(new Wertpapier { Anzahl = 0, Name = "Summe Depot", Heute = 0, Rend = 0, Rend1J = 0, Ertrag = suErtragWP, KursZeit = keinDatum, AktKurs = 0, //KtoKurs = 0, AktWert = suAktuWertWP, Zahlungen = suZahlungenWP, Kaufsumme = suKaufWertWP, KaufDatum = keinDatum, DepotID = 0, KontoNr = "", ISIN = "", Type = 98, AKName = aKName, AKKurz = aKKurz, Zins = 0, AbDatum = keinDatum, BisDatum = keinDatum, Sharpe = 0, URL = "", IsSumme = true }); double re3 = 0.00; if (suKaufWert != 0.00) { re3 = ((suAktuWert3 - suKaufWert3) * 100 / suKaufWert3); } aKName = "EndSummen"; Wertpapier wp = new Wertpapier { Anzahl = 0, Name = "Summe Gesamt", Heute = 0, Rend = re3, Rend1J = 0, Ertrag = suErtrag3, KursZeit = keinDatum, AktKurs = 0, //KtoKurs = 0, AktWert = suAktuWert3, Zahlungen = suZahlungen3, Kaufsumme = suKaufWert3, KaufDatum = keinDatum, DepotID = 0, KontoNr = "", ISIN = "", Type = 98, AKName = aKName, AKKurz = aKKurz, Zins = 0, AbDatum = keinDatum, BisDatum = keinDatum, Sharpe = 0, URL = "", IsSumme = true }; DgBanken._wertpapiere.Add(wp); CollectionViewSource.GetDefaultView(mw.dgWertpapiere.ItemsSource).Refresh(); }