예제 #1
0
        public ActionResult StartOefeningen(Sessie sessie, Groep groep, string id)
        {
            string groepid = id;

            System.Diagnostics.Debug.WriteLine(id);
            var groepObj = _groepRepository.GetBy(id);

            groep.Groepnummer = groepObj.Groepnummer;
            groep.GroepOef    = groepObj.GroepOef;
            groep.Id          = groepObj.Id;
            groep.Leerlingen  = groepObj.Leerlingen;
            groep.Mergeall    = groepObj.Mergeall;
            groep.SessieGroep = groepObj.SessieGroep;

            var vooruitgang = _vooruitgangRepository.GetBy(id);

            if (vooruitgang != null)
            {
                if (vooruitgang.IsFrozen == 1)
                {
                    return(RedirectToAction("FrozenView", "Oefening"));
                }

                int aantaloefeningen = _boxRepository.getOefeningenByBox(sessie.BoxNaam).Count();

                string iddienaaroefcontrollerwordtgestuurd = groep.Id;

                if (vooruitgang.OefNummer == aantaloefeningen)
                {
                    return(RedirectToAction(nameof(Errorweergave)));
                }
            }
            else
            {
                Vooruitgang v = new Vooruitgang(sessie.Naam, groep.Id, 0, 0, 1, 0);
                _vooruitgangRepository.add(v);
                _vooruitgangRepository.saveChanges();

                if (v.IsFrozen == 1)
                {
                    return(RedirectToAction("FrozenView", "Oefening"));
                }
            }
            return(RedirectToAction("Index", "Oefening"));
        }
예제 #2
0
        public ActionResult Index(Sessie sessie, Groep groep)
        {
            int welkeOef = ControleerVooruitgang(groep.Id);

            if (welkeOef == 0)
            {
                if (_vooruitgangRepository.GetBy(groep.Id) == null)
                {
                    //maak nieuwe vooruitgang want bestaat nog niet
                    Vooruitgang v = new Vooruitgang(sessie.Naam, groep.Id, 0, 0, 1, 0);
                    _vooruitgangRepository.add(v);
                    _vooruitgangRepository.saveChanges();
                }
            }

            //kijk of frozen indien ja ==> frozenview!!
            if (_vooruitgangRepository.GetBy(groep.Id).IsFrozen == 1)
            {
                return(RedirectToAction(nameof(FrozenView)));
            }

            //toon oefeningen

            _mergealls = _mergeallRepository.GetBy(groep.Id);                               //geef alle mergalls van die groep
            _oefening  = _oefeningRepository.GetBy(_mergealls.ElementAt(welkeOef).OefNaam); //neem oef object
            int aantalOefeningen = _boxRepository.getOefeningenByBox(sessie.BoxNaam).Count();
            //_oefening in try is out of range ==> alle oef zijn gedaan! toon uitkomst scherm!

            var vr = _vooruitgangRepository.GetBy(groep.Id);

            float progress = (vr.OefNummer * 1.0f / aantalOefeningen) * 100;

            if (progress == 0)
            {
                progress = 10;
            }
            Groepsbewerking        groepsbewerkingObject = _groepsbewerkingRepository.GetBy(_mergealls.ElementAt(welkeOef).GroepsbewerkingOpgave);
            OefeningIndexViewModel oefeningIndexModel    = new OefeningIndexViewModel(_oefening, groepsbewerkingObject, progress, groep.Id);

            return(View(oefeningIndexModel));
        }
예제 #3
0
        public ActionResult Index(Sessie sessie, OefeningIndexViewModel oefeningIndexModel, Groep groep)
        {
            int welkeOef = _vooruitgangRepository.GetBy(groep.Id).OefNummer;

            _mergealls = _mergeallRepository.GetBy(groep.Id);
            _oefening  = _oefeningRepository.GetBy(_mergealls.ElementAt(welkeOef).OefNaam);
            Vooruitgang     vooruitgang           = _vooruitgangRepository.GetBy(groep.Id);
            Groepsbewerking groepsbewerkingObject = _groepsbewerkingRepository.GetBy(_mergealls.ElementAt(welkeOef).GroepsbewerkingOpgave);
            Boolean         isvalidtimeleft       = true;

            //timeleft berekenen
            if (_oefening.Timeleft != 0)
            {
                var dateStart       = oefeningIndexModel.DateStart;
                var dateEnd         = DateTime.Now;
                var verschilinDatum = dateEnd - dateStart;

                //int timeleft omzetten naar ticks:
                var timeleftTicks = new TimeSpan(0, (int)_oefening.Timeleft, 0);

                if (verschilinDatum.Ticks > timeleftTicks.Ticks)
                {
                    isvalidtimeleft = false;
                }
            }
            if (vooruitgang.IsFrozen == 0)
            {
                String antwoord     = oefeningIndexModel.Antwoord;
                String realAntwoord = AlterAntwoord(_oefening.Antwoord, groepsbewerkingObject);
                if (antwoord == realAntwoord && isvalidtimeleft) //Juiste antwoord en binnen de tijd!!
                {
                    Vooruitgang vooruit        = _vooruitgangRepository.GetBy(groep.Id);
                    int         welkeOefening  = _vooruitgangRepository.GetBy(groep.Id).OefNummer;
                    int         aantalpogingen = _vooruitgangRepository.GetBy(groep.Id).AantalFoutePogingen;

                    _vooruitgangRepository.remove(_vooruitgangRepository.GetBy(groep.Id));

                    Vooruitgang nieuweVooruit = new Vooruitgang(sessie.Naam, groep.Id, welkeOefening + 1, welkeOefening + 1, 0, aantalpogingen);
                    _vooruitgangRepository.add(nieuweVooruit);


                    return(RedirectToAction(nameof(CorrectAntwoord)));
                }
                else if (isvalidtimeleft == false) //buiten de tijd
                {
                    _vooruitgangRepository.UpdateAantalPogingen(groep.Id);
                    _vooruitgangRepository.UpdateFrozen(groep.Id, true);


                    return(RedirectToAction(nameof(FrozenViewTime)));
                }
                else //fout antwoord!
                {
                    TempData["feedback"] = "Oeps, dat is verkeerd. De feedback voor deze oefening is: " + _oefening.Feedback;
                    _vooruitgangRepository.UpdateAantalPogingen(groep.Id);

                    if (_vooruitgangRepository.GetBy(groep.Id).AantalFoutePogingen >= 3)
                    {
                        _vooruitgangRepository.UpdateFrozen(groep.Id, true);
                        return(RedirectToAction(nameof(FrozenView)));
                    }
                    return(RedirectToAction(nameof(Index)));
                }
            }
            else
            {
                return(RedirectToAction(nameof(FrozenView)));
            }
        }
예제 #4
0
 public void remove(Vooruitgang vooruitgang)
 {
     _vooruitgangen.Remove(vooruitgang);
     _dbContext.SaveChanges();
 }
예제 #5
0
 public void add(Vooruitgang vooruitgang)
 {
     _dbContext.Add(vooruitgang);
     _vooruitgangen.Add(vooruitgang);
     _dbContext.SaveChanges();
 }
예제 #6
0
        public DummyApplicationDbContext()
        {
            Actie1 = new Actie()
            {
                actie = "actie1"
            };
            Actie = new[] { Actie1 };
            BoxActies boxActie = new BoxActies {
                BoxNaam = "box1", Actie = Actie1.actie
            };

            BoxActies      = new[] { boxActie };
            BoxActiesNamen = new[] { boxActie.Actie };

            Groepsbewerking1 = new Groepsbewerking {
                Opgave = "voeg 10 toe", Getal = "10", Operator = "+"
            };
            Groepsbewerking = new[] { Groepsbewerking1 };

            Doelstelling doelstelling = new Doelstelling {
                Doelstelling1 = "sommen"
            };

            Doelstelling = new[] { doelstelling };

            Oefening1 = new Oefening {
                Naam = "Oef1", Antwoord = "12", Feedback = "opnieuw", Opgave = "x + 2 = 14", Padnaarpdf = "pad", Timeleft = 0, Vak = "Wiskunde", Doelstelling = doelstelling.ToString()
            };
            Oefening2 = new Oefening {
                Naam = "Oef2", Antwoord = "10", Feedback = "opnieuw", Opgave = "x + 2 = 12", Padnaarpdf = "pad", Timeleft = 1, Vak = "Wiskunde", Doelstelling = doelstelling.ToString()
            };
            Oefening oefening3 = new Oefening {
                Naam = "Oef3", Antwoord = "14", Feedback = "opnieuw", Opgave = "x -2 = 10", Padnaarpdf = "pad", Timeleft = 0, Vak = "Wiskunde", Doelstelling = doelstelling.ToString()
            };

            Oefening = new[] { Oefening1, Oefening2, oefening3 };
            BoxOef boxOef1 = new BoxOef {
                BoxNaam = "box1", OefeningNaam = "Oef1"
            };
            BoxOef boxOef2 = new BoxOef {
                BoxNaam = "box1", OefeningNaam = "Oef2"
            };

            BoxOef      = new[] { boxOef1, boxOef2 };
            BoxOefNamen = new[] { boxOef1.OefeningNaam, boxOef2.OefeningNaam };

            Groep1 = new Groep {
                Id = "13", Groepnummer = "2", Leerlingen = "vital, fred, Johan, Joris"
            };
            Groep2 = new Groep {
                Id = "15", Groepnummer = "3", Leerlingen = "Jos, Tim, Justin, Wout"
            };
            Groep3 = new Groep {
                Id = "14", Groepnummer = "4", Leerlingen = "Jos, Tim, Justin, Wout"
            };

            Groep = new[] { Groep1, Groep2 };


            GroepOef groepOef1 = new GroepOef {
                Groep = "13", Oefening = "Oef1"
            };
            GroepOef groepOef2 = new GroepOef {
                Groep = "13", Oefening = "Oef2"
            };

            GroepOef = new[] { groepOef1, groepOef2 };

            Mergeall1 = new Mergeall {
                Id = "46", Actiecode = 10, Sessienaam = "sessie1", GroepId = "13", GroepsbewerkingOpgave = Groepsbewerking1.ToString(), OefNaam = "Oef1"
            };
            Mergeall = new[] { Mergeall1 };

            OefGbw oefGbw1 = new OefGbw {
                OefeningNaam = "Oef1", GroepsBewerkingId = Groepsbewerking1.Getal
            };

            OefGbw = new[] { oefGbw1 };


            Box box = new Box {
                Naam = "box1", Omschrijving = "een box"
            };

            Box = new[] { box };

            Sessie1 = new Sessie {
                Naam = "sessie1", Afstandsonderwijs = false, Beschikbaarvanaf = "18 05 2018", Code = "123", Omschrijving = "een sessie", BoxNaam = "box1"
            };
            Sessie2 = new Sessie {
                Naam = "sessie2", Afstandsonderwijs = false, Beschikbaarvanaf = "12 06 2018", Code = "321", Omschrijving = "een sessie", BoxNaam = "box1"
            };
            Sessie3 = new Sessie {
                Naam = "sessie3", Afstandsonderwijs = true, Beschikbaarvanaf = "18 05 2018", Code = "032", Omschrijving = "een sessie", BoxNaam = "box1"
            };
            Sessie = new[] { Sessie1, Sessie2 };

            SessieGroep sessieGroep1 = new SessieGroep {
                SessieNaam = "sessie1", GroepId = "13"
            };
            SessieGroep sessieGroep2 = new SessieGroep {
                SessieNaam = "sessie2", GroepId = "15"
            };
            SessieGroep sessieGroep3 = new SessieGroep {
                SessieNaam = "sessie3", GroepId = "14"
            };

            SessieGroep = new[] { sessieGroep1, sessieGroep2 };

            Vooruitgang1 = new Vooruitgang {
                AantalFoutePogingen = 0, GroepID = "13", Id = "1", IsFrozen = 0, OefNummer = 0, Score = 0, Sessienaam = "sessie1"
            };
            Vooruitgang2 = new Vooruitgang {
                AantalFoutePogingen = 0, GroepID = "15", Id = "2", IsFrozen = 1, OefNummer = 0, Score = 0, Sessienaam = "sessie2"
            };
            Vooruitgang3 = new Vooruitgang {
                AantalFoutePogingen = 0, GroepID = "14", Id = "3", IsFrozen = 0, OefNummer = 1, Score = 1, Sessienaam = "sessie1"
            };
            Vooruitgang4 = new Vooruitgang {
                AantalFoutePogingen = 0, GroepID = "14", Id = "3", IsFrozen = 0, OefNummer = 2, Score = 2, Sessienaam = "sessie2"
            };

            Vooruitgang          = new[] { Vooruitgang1, Vooruitgang2, Vooruitgang3, Vooruitgang4 };
            Sessie1Vooruitgangen = new[] { Vooruitgang1, Vooruitgang3 };
        }