Beispiel #1
0
        // GET: Climatogram
        public ActionResult ViewClimatogram(int selectedGrade, string selectedContinent, string selectedCountry, string selectedLocation)
        {
            Grade currentGrade = gradeRepository.FindById(selectedGrade);

            Determinatietabel = currentGrade.DeterminationTable;
            ViewBag.Location  = selectedLocation;

            Continent currentContinent = currentGrade.FindContinentByName(selectedContinent);
            Country   currentCountry   = currentContinent.FindCountryByName(selectedCountry);
            Location  currentLocation  = currentCountry.FindLocationByName(selectedLocation);

            Climatogram climatogram = currentLocation.Climatogram;
            Vragenlijst vragenlijst = new Vragenlijst(currentLocation, climatogram);

            string[]   vragen           = vragenlijst.GeefVragen();
            double[]   juisteAntwoorden = vragenlijst.GeefJuisteAntwoorden();
            double[][] antwoorOpties    = vragenlijst.GeefAntwoordOpties();

            string[]       climatogramSolution = Determinatietabel.Determineer(climatogram);
            List <Boolean> determinatiePad     = Determinatietabel.GetDeterminationPath(climatogram, new List <Boolean>());

            ClimatogramViewModel cvm = new ClimatogramViewModel(currentGrade, currentContinent, currentCountry, currentLocation, juisteAntwoorden, vragen, antwoorOpties, Determinatietabel, climatogramSolution, determinatiePad);

            return(View("ViewClimatogram", cvm));
        }
Beispiel #2
0
 public MonthlyDataViewModel(Climatogram climatogram)
 {
     Climatogram = climatogram;
     MonthlyData = climatogram.MonthlyDataList.ToList();
 }
Beispiel #3
0
        protected override void Seed(Context context)
        {
            try
            {
                Location location = new Location();
                //Grades
                Grade grade1 = new Grade(1);
                Grade grade2 = new Grade(2);
                Grade grade3 = new Grade(3);
                Grade grade4 = new Grade(4);
                Grade grade5 = new Grade(5);
                Grade grade6 = new Grade(6);

                //Continenten
                Continent        africa     = new Continent("Afrika");
                Continent        antarctica = new Continent("Antarctica");
                Continent        asia       = new Continent("Azië");
                Continent        europe     = new Continent("Europa");
                Continent        latAm      = new Continent("Latijns Amerika");
                Continent        northAm    = new Continent("Noord Amerika");
                Continent        oceania    = new Continent("Oceanië");
                List <Continent> contList   = new List <Continent>()
                {
                    africa, antarctica, asia, europe, latAm, northAm, oceania
                };

                //Land
                Country belgium = new Country("België");
                Country canada  = new Country("Canada");

                //Locatie
                Location gent    = new Location("Gent", "6434", 0.0666134, 0.889536142, 15);
                Location toronto = new Location("Toronto", "71624", 1.389863861, 0.762127107, 173);

                double[]    percGent           = { 51, 42, 46, 50, 59, 65, 72, 74, 72, 72, 64, 59 };
                double[]    tempGent           = { 2.5, 3.0, 5.2, 8.4, 12.1, 15.1, 16.8, 16.6, 14.3, 10.3, 6.2, 3.2 };
                double[]    percToronto        = { 46, 46, 57, 64, 66, 69, 77, 84, 74, 63, 70, 66 };
                double[]    tempToronto        = { -6.6, -5.8, -0.7, 6.1, 12.5, 17.7, 20.8, 19.6, 15.3, 9.0, 3.3, -3.2 };
                Climatogram climatogramGent    = new Climatogram(setValues(percGent, tempGent), "1961 - 1990");
                Climatogram climatogramToronto = new Climatogram(setValues(percToronto, tempToronto), "1953 - 1991");

                //-------------------
                europe.Countries.Add(belgium);
                belgium.Locations.Add(gent);
                gent.Climatogram = climatogramGent;

                northAm.Countries.Add(canada);
                canada.Locations.Add(toronto);
                toronto.Climatogram = climatogramToronto;
                //-------------------

                //Bij elke graad meegeven welke continenten ze moeten behandelen
                foreach (Continent cont in contList)
                {
                    grade3.Continents.Add(cont);
                    grade4.Continents.Add(cont);
                    grade5.Continents.Add(cont);
                    grade6.Continents.Add(cont);
                }
                grade1.Continents.Add(europe);
                grade2.Continents.Add(europe);



                // determinatietabellen
                // eerste graad
                Node         g1rootNode         = new Node(new Tw(), 10, new Smaller());
                Node         g1yesNode          = new Node(new Tw(), 0, new Smaller());
                AbstractNode g1yes2Leaf         = new Leaf("Koud zonder dooiseizoen", "IJswoestijn", "/Content/images/ijswoestijn.jpg");
                AbstractNode g1yesNoLeaf        = new Leaf("Koud met dooiseizoen", "Toendra", "/Content/images/toendra.jpg");
                Node         g1noNode           = new Node(new TmBiggerOrEqualThan10(), 4, new Smaller());
                AbstractNode g1noYesLeaf        = new Leaf("Koudgematigd, strenge winter", "Taiga", "/Content/images/taiga.jpg");
                Node         g1no2Node          = new Node(new Tk(), 18, new Smaller());
                AbstractNode g1no2NoLeaf        = new Leaf("Warm, altijd droog", "Woestijn van de tropen", "/Content/images/woestijn.jpg");
                Node         g1no2YesNode       = new Node(new Nj(), 400, new Bigger());
                AbstractNode g1no2YesNoLeaf     = new Leaf("Gematigd, altijd droog", "Woestijn van de middelbreedten", "/Content/images/woestijn.jpg");
                Node         g1no2Yes2Node      = new Node(new Tk(), -3, new Smaller());
                AbstractNode g1no2YesLeaf       = new Leaf("Koelgematigd, strenge winter", "Taiga", "/Content/images/taiga.jpg");
                Node         g1no2Yes2NoNode    = new Node(new Tw(), 22, new Smaller());
                AbstractNode g1no2Yes2NoYesLeaf = new Leaf("Koelgematigd, zachte winter", "Loofbos", "/Content/images/loofwoud.jpg");
                AbstractNode g1no2Yes2NoNoLeaf  = new Leaf("Warmgematigd, natte winter", "Hardbladig van de subtropen", "/Content/images/hardbladig.jpg");

                g1no2Yes2NoNode.YesNode = g1no2Yes2NoYesLeaf;
                g1no2Yes2NoNode.NoNode  = g1no2Yes2NoNoLeaf;
                g1no2Yes2Node.YesNode   = g1no2YesLeaf;
                g1no2Yes2Node.NoNode    = g1no2Yes2NoNode;
                g1no2YesNode.NoNode     = g1no2YesNoLeaf;
                g1no2YesNode.YesNode    = g1no2Yes2Node;
                g1no2Node.NoNode        = g1no2NoLeaf;
                g1no2Node.YesNode       = g1no2YesNode;
                g1noNode.YesNode        = g1noYesLeaf;
                g1noNode.NoNode         = g1no2Node;
                g1yesNode.YesNode       = g1yes2Leaf;
                g1yesNode.NoNode        = g1noNode;
                g1yesNode.NoNode        = g1yesNoLeaf;
                g1rootNode.YesNode      = g1yesNode;
                g1rootNode.NoNode       = g1noNode;

                // alle andere  graden = grade2
                Node         g2rootNode              = new Node(new Tw(), 10, new SmallerOrEqual());
                Node         g2yesNode               = new Node(new Tw(), 0, new SmallerOrEqual());
                Leaf         g2yes2Leaf              = new Leaf("Koud zonder dooiseizoen", "IJswoestijn", "/Content/images/ijswoestijn.jpg");
                Leaf         g2yesNoLeaf             = new Leaf("Koud met dooiseizoen", "Toendra", "/Content/images/toendra.jpg");
                Node         g2noNode                = new Node(new Tj(), 0, new SmallerOrEqual());
                Leaf         g2noYesLeaf             = new Leaf("Koudgematigd, strenge winter", "Taiga", "/Content/images/taiga.jpg");
                Node         g2no2Node               = new Node(new Nj(), 200, new SmallerOrEqual());
                Node         g2no2YesNode            = new Node(new Tk(), 15, new SmallerOrEqual());
                AbstractNode g2no2Yes2Leaf           = new Leaf("Gematigd, altijd droog", "Woestijn van de middelbreedten", "/Content/images/woestijn.jpg");
                Leaf         g2no2YesNoLeaf          = new Leaf("Warm, altijd droog", "Woestijn van de tropen", "/Content/images/woestijn.jpg");
                Node         g2no3Node               = new Node(new Tk(), 18, new SmallerOrEqual());
                Node         g2no3YesNode            = new Node(new Nj(), 400, new SmallerOrEqual());
                AbstractNode g2no3Yes2Leaf           = new Leaf("Gematigd, droog klimaat", "Steppe", "/Content/images/steppe.jpg");
                Node         g2no3YesNoNode          = new Node(new Tk(), -10, new SmallerOrEqual());
                AbstractNode g2no3YesNoYesLeaf       = new Leaf("Koelgematigd, strenge winter", "Taiga", "/Content/images/taiga.jpg");
                Node         g2no3YesNo2Node         = new Node(new DryMonths(), 1, new SmallerOrEqual());
                Node         g2no3YesNo2YesNode      = new Node(new Tk(), -3, new SmallerOrEqual());
                AbstractNode g2no3YesNo2Yes2Leaf     = new Leaf("Koelgematigd, koude winter", "Gemengd Woud", "/Content/images/gemengd_woud.jpg");
                Node         g2no3YesNo2YesNoNode    = new Node(new Tw(), 22, new SmallerOrEqual());
                AbstractNode g2no3YesNo2YesNoYesLeaf = new Leaf("Koelgematigd, zachte winter", "Loofbos", "/Content/images/loofwoud.jpg");
                AbstractNode g2no3YesNo2YesNo2Leaf   = new Leaf("Warmgematigd, altijd nat", "Subtropisch Regenwoud", "/Content/images/regenwoud.jpg");
                Node         g2no3YesNo3Node         = new Node(new PrecipitationSummer(), new PrecipitationWinter(), new SmallerOrEqual());
                Node         g2no3YesNo3YesNode      = new Node(new Tw(), 22, new SmallerOrEqual());
                AbstractNode g2no3YesNo3Yes2Leaf     = new Leaf("Koelgematigd, natte winter", "Hardbladig van de middelbreedten", "/Content/images/hardbladig.jpg");
                AbstractNode g2no3YesNo3YesNoLeaf    = new Leaf("Warmgematigd, natte winter", "Hardbladig van de subtropen", "/Content/images/hardbladig.jpg");
                AbstractNode g2no3YesNo4Leaf         = new Leaf("Warmgematigd, natte zomer", "Subtropische Savanne", "/Content/images/subtropische_savanne.jpg");
                Node         g2no4Node               = new Node(new DryMonths(), 1, new SmallerOrEqual());
                AbstractNode g2no4YesLeaf            = new Leaf("Warm, nat seizoen", "Tropische Savanne", "/Content/images/savanne.jpg");
                AbstractNode g2no5Leaf               = new Leaf("Warm, altijd nat, nat seizoen", "Tropisch Regenwoud", "/Content/images/tropisch_regenwoud.jpg");

                g2no4Node.YesNode            = g2no4YesLeaf;
                g2no4Node.NoNode             = g2no5Leaf;
                g2no3YesNo3YesNode.YesNode   = g2no3YesNo3Yes2Leaf;
                g2no3YesNo3YesNode.NoNode    = g2no3YesNo3YesNoLeaf;
                g2no3YesNo3Node.YesNode      = g2no3YesNo3YesNode;
                g2no3YesNo3Node.NoNode       = g2no3YesNo4Leaf;
                g2no3YesNo2YesNoNode.YesNode = g2no3YesNo2YesNoYesLeaf;
                g2no3YesNo2YesNoNode.NoNode  = g2no3YesNo2YesNo2Leaf;
                g2no3YesNo2YesNode.YesNode   = g2no3YesNo2Yes2Leaf;
                g2no3YesNo2YesNode.NoNode    = g2no3YesNo2YesNoNode;
                g2no3YesNo2Node.YesNode      = g2no3YesNo2YesNode;
                g2no3YesNo2Node.NoNode       = g2no3YesNo3Node;
                g2no3YesNoNode.YesNode       = g2no3YesNoYesLeaf;
                g2no3YesNoNode.NoNode        = g2no3YesNo2Node;
                g2no3YesNode.YesNode         = g2no3Yes2Leaf;
                g2no3YesNode.NoNode          = g2no3YesNoNode;
                g2no3Node.YesNode            = g2no3YesNode;
                g2no3Node.NoNode             = g2no4Node;
                g2no2YesNode.YesNode         = g2no2Yes2Leaf;
                g2no2YesNode.NoNode          = g2no2YesNoLeaf;
                g2no2Node.YesNode            = g2no2YesNode;
                g2no2Node.NoNode             = g2no3Node;
                g2noNode.YesNode             = g2noYesLeaf;
                g2noNode.NoNode    = g2no2Node;
                g2yesNode.YesNode  = g2yes2Leaf;
                g2yesNode.NoNode   = g2yesNoLeaf;
                g2rootNode.YesNode = g2yesNode;
                g2rootNode.NoNode  = g2noNode;

                grade1.DeterminationTable = g1rootNode;
                grade2.DeterminationTable = g2rootNode;
                grade3.DeterminationTable = g2rootNode;
                grade4.DeterminationTable = g2rootNode;
                grade5.DeterminationTable = g2rootNode;
                grade6.DeterminationTable = g2rootNode;

                //SaveChanges : Add -> INSERT statement | wijzigingen -> UPDATE instructie | Remove -> DELETE instructie
                //--> CRUD methoden van Context -> Voegt de Grades toe samen met alle continenten en bijbehorende countries/locations voor die graad
                // Context doet aan ChangeTracking -> Houdt alle wijzigingen bij tot je SaveChanges aanroept
                // en zal dan voor alle wijzigingen INSERT,UPDATE of DELETE instructies creëren => Transactie

                context.Grades.Add(grade1);
                context.Grades.Add(grade2);
                context.Grades.Add(grade3);
                context.Grades.Add(grade4);
                context.Grades.Add(grade5);
                context.Grades.Add(grade6);

                context.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                throw e;
            }
        }