Ejemplo n.º 1
0
 public static async Task AddBeurs(Beurs beurs)
 {
     if (_cached == null)
     {
         await CreateCache();
     }
     Debug.Assert(_cached != null, nameof(_cached) + " != null");
     _cached.TryAdd(beurs.BeursId, beurs);
 }
Ejemplo n.º 2
0
 public static async Task ModifyBeurs(Beurs beurs)
 {
     if (_cached == null)
     {
         await CreateCache();
     }
     Debug.Assert(_cached != null, nameof(_cached) + " != null");
     _cached[beurs.BeursId] = beurs;
 }
Ejemplo n.º 3
0
        private static BeursWaardes BerekenBeurs(Beurs beurs,
                                                 List <TelMomentModel> telMomenten, TelMomentModel telMoment)
        {
            var aanwezigheid  = (float)telMoment.Aantal / beurs.AantalLeden;
            var huidigeWaarde = beurs.Waardes.Where(x => x.Tijd < telMoment.Tijd).OrderBy(x => x.Tijd).Last()
                                .Waarde;
            double nieuweWaarde;

            //als er nog geen telmomenten zijn
            if (!telMomenten.Any())
            {
                //als meer dan 30 procent aanwezig is, laten we de prijs stijgen
                if (aanwezigheid > InitieleMaatstaaf)
                {
                    nieuweWaarde = huidigeWaarde + (huidigeWaarde * aanwezigheid * 0.25d);
                }
                //anders laten we hem dalen
                else
                {
                    nieuweWaarde = huidigeWaarde - (huidigeWaarde * (InitieleMaatstaaf - aanwezigheid) * 0.25d);
                }
            }
            else
            {
                var vorigeTelMomenten = telMomenten;
                var laatste           = vorigeTelMomenten.Last();

                //we pakken het gemiddelde van de laatste 3 telmomenten
                var laatsteDrieGemiddelde = vorigeTelMomenten.Average(x => x.Aantal);
                //We vergelijken de huidige aantal met het gemiddelde van de laatste 5 gemiddelden en de laatste.
                //op deze manier geven we het laatste aantal wel een hoge prioriteit, maar nemen we andere momenten
                //ook mee
                var vergelijkinsgAantal = Math.Round((laatsteDrieGemiddelde + laatste.Aantal) / 2f);
                var verschil            = telMoment.Aantal - vergelijkinsgAantal;
                //We kijken proportioneel naar het verschil in leden
                var verschilProportie = (verschil / beurs.AantalLeden);
                //Als er alleen een klein verschil is, en de opkomst is hoog, geven we een bonus om
                // de beurzen in beweging te houden
                if (Math.Abs(verschilProportie) < 0.1f && aanwezigheid > 0.4f)
                {
                    verschilProportie += 0.2d;
                }
                nieuweWaarde = huidigeWaarde + (huidigeWaarde * verschilProportie * 0.2d);
            }
            return(new BeursWaardes
            {
                Beurs = beurs,
                BeursId = beurs.BeursId,
                Tijd = telMoment.Tijd,
                Type = BeursWaardes.WaardeType.Aanwezigheid,
                Waarde = nieuweWaarde
            });
        }
Ejemplo n.º 4
0
        private static async Task <int> CreateBeurs(Beurs beurs)
        {
            beurs.Waardes = new List <BeursWaardes>
            {
                new BeursWaardes
                {
                    Beurs   = beurs,
                    BeursId = beurs.BeursId,
                    Tijd    = DateTime.Now,
                    Type    = BeursWaardes.WaardeType.Onbekend,
                    Waarde  = Settings.StartBeursWaarde
                }
            };
            beurs.VorigeBeschikbareAandelen = beurs.BeschikbareAandelen;
            using (var db = new ApplicationDbContext())
            {
                await db.Beurzen.AddAsync(beurs);

                await db.SaveChangesAsync();
            }
            await BeurzenManager.AddBeurs(beurs);

            return(beurs.BeursId);
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            try
            {
                Aanhangwagen  KamionTrailer = new Aanhangwagen(2000, 1, 2000, "Jef", 9999d);
                Caravan       SleurHut      = new Caravan(2500, 1, 2.2, 4, 22, "Jim", 2000d);
                Huis          Home          = new Huis(6, 800, "7th floor gang", 2000000);
                Kasteel       Steen         = new Kasteel(5, 20000, "Juan", 9999d);
                Auto          Jeep          = new Auto(140, 25, 1000, "Wrangler", "Yannick", 40000);
                Motorhome     RV            = new Motorhome(25, 140, 25, 2000, "Mercedes", "Mohammed", 400000);
                Transportboot transportboot = new Transportboot(150, "bootmerk", 80, "Jack", 999d, 1000);
                WoonBoot      FloatingHome  = new WoonBoot(4, 400, 100, "Dutch Brand", 25, "Dutchy", 400000);
                Beurs         beurs         = new Beurs("Marc", 500000);

                beurs.Add(KamionTrailer);
                beurs.Add(SleurHut);
                beurs.Add(Home);
                beurs.Add(Steen);
                beurs.Add(Jeep);
                beurs.Add(RV);
                beurs.Add(transportboot);
                beurs.Add(FloatingHome);

                Console.WriteLine("Kies uit de volgende artikels: ");
                Console.WriteLine("1. Belaadbar\n2. Bewoonbaar\n3. Voertuig\n4. Trekbaar\n5. Trekker\n6. Alle info");
                Console.Write("Type het gekozen nummer: ");
                int keuzeGebruiker = int.Parse(Console.ReadLine());

                switch (keuzeGebruiker)
                {
                case 1:
                    foreach (var item in beurs.GetBelaadbaarLijst())
                    {
                        Console.WriteLine(item);
                    }
                    break;

                case 2:
                    foreach (var item in beurs.GetBewoonbaarLijst())
                    {
                        Console.WriteLine(item);
                    }
                    break;

                case 3:
                    foreach (var item in beurs.GetVoertuigLijst())
                    {
                        Console.WriteLine(item);
                    }
                    break;

                case 4:
                    foreach (var item in beurs.GetTrekbaarLijst())
                    {
                        Console.WriteLine(item);
                    }
                    break;

                case 5:
                    foreach (var item in beurs.GetTrekkerLijst())
                    {
                        Console.WriteLine(item);
                    }
                    break;

                case 6:
                    foreach (var item in beurs.artikels)
                    {
                        Console.WriteLine(item);
                    }
                    break;

                case 42:
                    Console.WriteLine("Artikel is not in library, yet it is the answer to life the universe and everything!");
                    break;

                default:
                    Console.WriteLine("Artikel not in Library");
                    break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            //D
            Beurs beurs;

            //I
            #region BEURS TESTING
            beurs = new Beurs();

            //CORRECTE INPUTS
            //aanhangwagen: 2 banden, 200kg, eigenaar = Mauro, €350
            beurs.Add(new Aanhangwagen(2, 200, "Mauro", 350));
            //caravan: 15m², 6 banden, 500kg, eigenaar = Francis, €1200
            beurs.Add(new Caravan(15, 6, 500, "Francis", 1200));
            //huis: 3 slaapkamers, 40m², eigenaar = Khadija, €350.000
            beurs.Add(new Huis(3, 40, "Khadija", 350000));
            //kasteel: 10 slaapkamers, 150m², eigenaar = Arno, €2.000.000
            beurs.Add(new Kasteel(10, 150, "Jarno", 2000000));
            //auto: 180 km/u, BMW, aanhangwagen(4 banden, 150kg, eigenaar = Ruben, €50), 1000kg trekgewicht, 4 banden, 300kg, eigenaar = Ruben, €12.000
            beurs.Add(new Auto(180, "BMW", new Aanhangwagen(4, 150, "Ruben", 50), 1000, 4, 300, "Ruben", 12000));
            //motorhome: 5m², 120km/u, VW , aanhangwagen(4 banden, 50kg, eigenaar = Toon, €100), 500kg trekgewicht, 2 banden, 150kg, eigenaar = Toon, €5.000
            beurs.Add(new Motorhome(5, 120, "VW", new Aanhangwagen(4, 50, "Toon", 100), 500, 2, 150, "Toon", 5000));
            //transportboot: 50kg belading, 20000kg max belading, 50km/u, Smolders, eigenaar = Kenan, €500.000
            beurs.Add(new Transportboot(50, 20000, 50, "Smolders", "Kenan", 500000));
            #endregion
            //beurs.Add(new Auto(180, "BMW", new Aanhangwagen(4, 150, "Ruben", 50), 1000, 4, 300, "Ruben", 8000));
            //beurs.Add(new Auto(180, "BMW", new Aanhangwagen(4, 150, "Ruben", 50), 1000, 4, 300, "Ruben", 12000));
            //beurs.Add(new Auto(180, "BMW", new Aanhangwagen(4, 150, "Ruben", 50), 1000, 4, 300, "Ruben", 9000));
            //beurs.Add(new Auto(180, "BMW", new Aanhangwagen(4, 150, "Ruben", 50), 1000, 4, 300, "Ruben", 7000));
            //beurs.Add(new Auto(180, "BMW", new Aanhangwagen(4, 150, "Ruben", 50), 1000, 4, 300, "Ruben", 10000));

            #region INPUT TESTING
            //FOUTE INPUTS: foute inputs testen voor de classes
            //Aanhangwagen: 1 Band, 0 gewicht , Eigenaar Coffe, prijs 10
            Aanhangwagen aanhangwagen = new Aanhangwagen(1, 0, "Coffe", 10);
            //Auto: Maximum snelheid = 1km/h, merk = Mercedes, aanhangwagen(1 band, 20kg, eigenaar = Franck, €400.000), 10kg trekgewicht, 3 banden, 5000kg, eigenaar = Jos, €20.000
            Auto auto = new Auto(1, "Mercedes", new Aanhangwagen(1, 20, "Franck", 400.000), 10000, 3, 5000, "Jos", 20000);
            //caravan: 10m², 5 banden, 3000kg, eigenaar = Francis, €150.000
            Caravan caravan = new Caravan(10, 5, 10, "Francis", 150000);
            //huis: 13 slaapkamers, 110m², eigenaar = Joe, €150.000
            Huis huis = new Huis(13, 110, "Joe", 12000);
            //kasteel: 1 slaapkamers, 302m², eigenaar = Professor X, €1.100.000
            Kasteel kasteel = new Kasteel(1, 302, "Professor X", 1100000);
            //Motorhome: 0M², 120 max snelheid, Merk , MaximaalTrekgewicht , 6 banden, 750kg gewicht, eigenaar , prijs.
            Motorhome motorhome = new Motorhome(0, 120, "Arca-Home", new Caravan(25, 2, 500, "Joey", 1000), 15000, 6, 1600, "Cowboy Jack", 25000);
            //Transportboot: Gewicht 100, Maxgewicht 50, MaxSnelheid 10, Merk 0, Eigenaar 0, Prijs 0.5
            Transportboot transportboot = new Transportboot(100, 500, 10, "", "", 0.5);
            //Woonboot: Slaapkamers 1, bewoonbaarOPP -5, Merk 0, Eigenaar, Prijs
            Woonboot woonboot = new Woonboot(1, -5, 20, "", "Jarno Armoede", 1000);
            #endregion

            #region METHOD TESTING

            //METHOD TEST INPUTS: verder alle methods testen van elke class
            Auto testauto = new Auto(150, "Audi", new Aanhangwagen(4, 50, "Jan", 100), 600, 4, 200, "Jos", 10000);
            //P
            //METHOD TESTING AUTO
            testauto.Versnel(50);                      // test versnel
            testauto.Vertraag(30);                     // test vertraag
            testauto.Versnel(150);                     // test maximum snelheid
            testauto.Vertraag(180);                    //stistand voor koppeling aanhangwagen
            testauto.KoppelAanhangwagen(aanhangwagen); // koppeling aanhangwagen

            //METHOD TESTING CARAVAN
            Caravan testcaravan = new Caravan(20, 6, 2500, "Kurda K", 160000);
            testauto.KoppelAanhangwagen(caravan);

            //METHOD TESTING WOONBOOT
            Woonboot testwoonboot = new Woonboot(4, 40, 100, "VanWall", "Barrack", 1000000);
            testwoonboot.Versnel(80);
            testwoonboot.Versnel(30);
            testwoonboot.Vertraag(130);
            testwoonboot.VerkoopAan("DeFille");

            //METHOD TESTING TRANSPORTBOOT
            Transportboot testtransportboot = new Transportboot(40, 4000, 90, "Containerships", "Arno", 2300000);
            testtransportboot.Versnel(80);
            testtransportboot.Versnel(30);
            testtransportboot.Vertraag(130);
            testtransportboot.VerkoopAan("Rubens");

            //METHOD TESTING MOTORHOME
            Motorhome testMotorhome = new Motorhome(50, 75, "MMH", new Caravan(30, 4, 1000, "Donnel", 99000), 1200, 4, 1500, "Toon", 270000);
            testMotorhome.Versnel(50);
            testMotorhome.Versnel(40);
            testMotorhome.Vertraag(30);
            testMotorhome.BepaalPrijs(5);
            #endregion

            //O
            //Console.WriteLine(
            //    $"*****AANHANGWAGEN*****\n{aanhangwagen}\n" +
            //    $"*****AUTO*****\n{auto}\n" +
            //    $"*****CARAVAN*****\n{caravan}\n" +
            //    $"*****HUIS*****\n{huis}\n" +
            //    $"*****KASTEEL*****\n{kasteel}\n" +
            //    $"*****MOTORHOME*****\n{motorhome}\n" +
            //    $"*****TRANSPORTBOOT*****\n{transportboot}\n" +
            //    $"*****WOONBOOT*****\n{woonboot}\n");
            BeursShow(beurs);
            Console.ReadLine();
        }
Ejemplo n.º 7
0
        private static void BeursShow(Beurs beurs)
        {
            string input;

            do
            {
                Console.Clear();
                Console.WriteLine("Welk artikel zou u willen bekijken?");
                Console.WriteLine("1) Belaadbare voertuigen");
                Console.WriteLine("2) Bewoonbare voertuigen");
                Console.WriteLine("3) Trekbare voertuigen");
                Console.WriteLine("4) Trekkers");
                Console.WriteLine("5) Voertuigen");

                Console.WriteLine("\r\nGeef het cijfer van uw keuze: ");
                input = Console.ReadLine();
                switch (input)
                {
                case "0":
                    Console.WriteLine("Menu gaat sluiten.");
                    break;

                case "1":
                    Console.WriteLine("BELAADBAAR");
                    foreach (var item in beurs.GetBelaadbaarLijst())
                    {
                        if (item != null)
                        {
                            Console.WriteLine($"{item}\n************************************************");
                        }
                    }
                    break;

                case "2":
                    Console.WriteLine("BEWOONBAAR");
                    foreach (var item in beurs.GetBewoonbaarLijst())
                    {
                        if (item != null)
                        {
                            Console.WriteLine($"{item}\n************************************************");
                        }
                    }
                    break;

                case "3":
                    Console.WriteLine("TREKBAAR");
                    foreach (var item in beurs.GetTrekbaarLijst())
                    {
                        if (item != null)
                        {
                            Console.WriteLine($"{item}\n************************************************");
                        }
                    }
                    break;

                case "4":
                    Console.WriteLine("TREKKERS");
                    foreach (var item in beurs.GetTrekkerLijst())
                    {
                        if (item != null)
                        {
                            Console.WriteLine($"{item}\n************************************************");
                        }
                    }
                    break;

                case "5":
                    Console.WriteLine("VOERTUIGEN");
                    foreach (var item in beurs.GetVoertuigLijst())
                    {
                        if (item != null)
                        {
                            Console.WriteLine($"{item}\n************************************************");
                        }
                    }
                    break;

                default:
                    Console.WriteLine("Kies een juiste lijst");
                    break;
                }
                Console.ReadKey();
            } while (input != "0");
        }