예제 #1
0
        private void CalcNewAktienValue(object obj)
        {
            /* Die Observable Collection Casten und in eine Liste schreiben, damit iteriert werden kann.*/
            /* für die Taktung Sleep 1000ms eingeben*/
            var myAktien = (ObservableCollection <AktieViewModel>)obj;

            try
            {
                do
                {
                    foreach (AktieViewModel aktieViewModel in myAktien)
                    {
                        Random myRandom     = new Random();
                        double randomChange = myRandom.Next(-1, 2);
                        Debug.WriteLine("aktuelle Änderung:");
                        Debug.WriteLine(randomChange.ToString());

                        int anzahlItemInHistory;

                        aktieViewModel.AktuellerKurs += randomChange;
                        //Debug.WriteLine(aktieViewModel.AktuellerKurs.ToString());

                        #region Hystory-Eintrag

                        HystoryViewModel myHystoryViewModel = new HystoryViewModel()
                        {
                            AktuellerWert = aktieViewModel.AktuellerKurs, Datum = DateTime.Now.ToString()
                        };

                        //App.Current.Dispatcher.Invoke(() => aktieViewModel.HystoryList.Add(myHystoryViewModel));
                        App.Current.Dispatcher.Invoke(() => aktieViewModel.HystoryList.Insert(0, myHystoryViewModel));

                        if (aktieViewModel.HystoryList.Count >= 13)
                        {
                            App.Current.Dispatcher.Invoke(() => aktieViewModel.HystoryList.RemoveAt(12));
                        }

                        //aktieViewModel.HystoryList.Add(myHystoryViewModel);


                        #endregion
                    }

                    GesamtWert        = CalcGesamtWert(PortfolioViewModel.AktienUebersicht);
                    AktuellerWert     = CalcAktWert();
                    Differenz         = CalcDifferenz();
                    AbweichungProzent = CalcProzent();
                    ProfitLossColour  = ChangeFieldColour();
                    Thread.Sleep(1000);
                } while (true);
            }
            catch
            {
            }
        }
        public AktieViewModel()
        {
            myCurrentHystory = new HystoryViewModel();
            myCurrentHystory.AktuellerWert = 0;
            myCurrentHystory.Datum         = DateTime.Now.Date.ToString();


            aktie       = new Aktie();
            historyList = new ObservableCollection <HystoryViewModel>()
            {
                myCurrentHystory
            };


            aktie.abkuerzung    = "Unbekannt";
            aktie.firmenname    = "Unbekannt";
            aktie.kaufKurs      = 500;
            aktie.aktuellerKurs = 500;
            aktie.anzahlGekauft = 12;
        }