예제 #1
0
        public void DodajPrzykladowoInwestycje()
        {
            using (var ctx = new GameDbContext())
            {
                // Tworzymy grupę w pamięci
                Grupa grupa = new Grupa()
                {
                    Name = "Sosny"
                };

                Inwestycja inwestycja;

                // Dodajemy studenta do grupy
                inwestycja = new Inwestycja()
                {
                    Nazwa = "Wysokie", Data = new DateTime(1990, 10, 10), Kurs = 5000, Przelicznik = 1
                };
                grupa.Inwestycje.Add(inwestycja);


                // Grupę dodajemy do kolekcji reprezentującej dane w bazie danych
                ctx.Grupa.Add(grupa);



                // Zapisujemy zmienne przechowywane w kontekście
                ctx.SaveChanges();
            }
        }
        /// <summary>
        /// Specjalna metoda, która jest wywoływana raz po przebudowaniu bazy danych.
        /// Założenie jest, że baza jest pusta, więc trzeba ją wypełnić początkowymi danymi.
        /// </summary>
        /// <param name="context"></param>
        protected override void Seed(GameDbContext context)
        {
            Grupa grupa;
            Firma firma;

            grupa = new Grupa()
            {
                Name = "Akcje"
            };
            //    Inwestycja inw = new Inwestycja() { Nazwa = "", Kurs = 12.43, Data = new DateTime(2015, 4, 26), Przelicznik = 1 };
            //     firma = new Firma() { Name = "Przykład", AktualnaInwestycja = inw };
            //     grupa.Inwestycje.Add(inw);



            firma = new Firma()
            {
                Name = "Przykład"
            };
            grupa.Inwestycje.Add(new Inwestycja()
            {
                Firma = firma, Nazwa = firma.Name, Kurs = 12.43, Data = new DateTime(2015, 4, 26), Przelicznik = 1
            });
            context.Grupa.Add(grupa);

            Inwestycja tmp1 = new Inwestycja()
            {
                Firma = firma, Nazwa = firma.Name, Kurs = 25.54, Data = new DateTime(2015, 4, 26), Przelicznik = 1, Grupa = grupa
            };
            Użytkownik user = new Użytkownik()
            {
                Id = 0, Nickname = "Michał", Login = "******", StanKonta = 1000000, Hasło = "123abc"
            };

            context.Użytkownik.Add(user);
            Operacja operacja = new Operacja()
            {
                Id = 0, Ilość = 5, Transakcja = transakcja.kupno, Inwestycja = tmp1, StempelCzasowy = new DateTime(2015, 4, 4), Użytkownik = user
            };

            context.Operacja.Add(operacja);
            // grupa = new Grupa() { Name = "Obligacje"};
            // context.Grupa.Add(grupa);
            try
            { context.SaveChanges(); }
            catch (Exception ex)
            {
                MessageBox.Show("Błąd inicjalizacji bazy " + ex);
            }
            base.Seed(context);
        }
예제 #3
0
        public void PobierzNotowaniaGiełdowe()
        {
            ArchiveData StockData = new ArchiveData();

            using (var ctx = new GameDbContext())
            {
                string line;
                System.IO.StreamReader file =
                    new System.IO.StreamReader(@"C:\Users\Adri\Desktop\Bats_Stocks.txt");
                while ((line = file.ReadLine()) != null)
                {
                    string nazwa = line;
                    // MessageBox.Show(nazwa);


                    using (var giełda = new WebClient())
                    {
                        string data      = "";
                        bool   exception = false;
                        try
                        {
                            data = giełda.DownloadString("http://dev.markitondemand.com/Api/v2/InteractiveChart/json?parameters=%7B%22Normalized%22%3Atrue%2C%22NumberOfDays%22%3A545%2C%22DataPeriod%22%3A%22Day%22%2C%22Elements%22%3A%5B%7B%22Symbol%22%3A%22" + nazwa + "%22%2C%22Type%22%3A%22price%22%2C%22Params%22%3A%5B%22c%22%5D%7D%5D%7D");
                        }catch (Exception ex)
                        {
                            exception = true;
                        }
                        if (!exception)
                        {
                            StockData = JsonConvert.DeserializeObject <ArchiveData>(data);
                            //int n=StockData.Elements.Count();

                            var akcje = (from gr in ctx.Grupa
                                         where gr.Name == "Akcje"
                                         select gr).First();

                            //   Grupa akcje = new Grupa() { Name = "Akction" };

                            foreach (var elem in StockData.Elements)
                            {
                                for (int i = 0; i < elem.DataSeries.close.values.Count(); i++)
                                {
                                    // MessageBox.Show(elem.DataSeries.close.values[i].ToString() + " " + StockData.Dates[i].ToString());
                                    Inwestycja tmp = new Inwestycja();
                                    tmp.Data        = StockData.Dates[i];
                                    tmp.Kurs        = elem.DataSeries.close.values[i];
                                    tmp.Przelicznik = 1;
                                    tmp.Nazwa       = elem.Symbol;
                                    tmp.Grupa       = akcje;
                                    ctx.Inwestycja.Add(tmp);
                                }
                            }
                            try
                            { ctx.SaveChanges(); }
                            catch (Exception ex) { MessageBox.Show(ex.Message); }
                        }
                        exception = false;
                    }
                    MessageBox.Show("I'm done");
                    break;
                }
            }
        }
예제 #4
0
        public Inwestycja AktualnaInwestycja;    // { get; set; }


        public Firma()
        {
            Archiwum           = new List <Inwestycja>();
            AktualnaInwestycja = new Inwestycja();
        }