コード例 #1
0
        public ActionResult Index(Leerling leerling, [Bind(Prefix = "Antwoorden")] AntwoordViewModel antwoorden)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ActionResult route = RedirectIndienNodig(leerling);
                    if (route != null)
                    {
                        return(route);
                    }

                    string[] antwden = leerling.ValideerVragen(antwoorden.Antwoord);

                    AntwoordViewModel    antw    = new AntwoordViewModel(antwden);
                    VragenIndexViewModel vraagVM = new VragenIndexViewModel(leerling.GeefVragen(), leerling.Klimatogram)
                    {
                        Antwoorden = antwoorden
                    };
                    int index = 0;
                    vraagVM.AllesJuist =
                        leerling.Graad.Vragen.Where(v =>
                    {
                        var res = v.ValideerVraag(antwoorden.Antwoord[index], leerling.Klimatogram);
                        var vr  = vraagVM.Vragen.ElementAt(index++);
                        switch (res)
                        {
                        case Resultaat.Juist:
                            vr.Resultaat = true;
                            break;

                        case Resultaat.Fout:
                            vr.Resultaat = false;
                            break;

                        default:
                            vr.Resultaat = null;
                            break;
                        }
                        return(res != Resultaat.Juist);
                    }).Count() == 0;
                    return(View(vraagVM));
                }
                catch (Exception exception)
                {
                    ModelState.AddModelError("", exception.Message);
                }
            }
            return(View());
        }