// GET: Reponses/Edit/id
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var question = await questionsService.Get((int)id);

            if (question == null)
            {
                return(HttpNotFound());
            }

            var modules = new SelectList(await modulesService.GetAll(), "moduleId", "moduleLib");
            var niveaux = new SelectList(await niveauxService.GetAll(), "niveauId", "niveauLib");

            var vm = new QuestionCreateUpdateVM
            {
                Question         = question,
                AvailableModules = modules,
                AvailableNiveaux = niveaux,
                SelectedModuleId = question.Module.ModuleId,
                SelectedNiveauId = question.Niveau.NiveauId
            };

            return(View(vm));
        }
        // GET: Questions/Create
        public async Task <ActionResult> Create()
        {
            var modules = new SelectList(await modulesService.GetAll(), "ModuleId", "ModuleLib");
            var niveaux = new SelectList(await niveauxService.GetAll(), "NiveauId", "NiveauLib");


            var vm = new QuestionCreateUpdateVM()
            {
                AvailableModules = modules,
                AvailableNiveaux = niveaux,
            };



            return(View(vm));
        }
        public async Task <ActionResult> Edit(QuestionCreateUpdateVM vm)
        {
            if (ModelState.IsValid)
            {
                vm.Question.Module = new ModuleVM {
                    ModuleId = vm.SelectedModuleId
                };
                vm.Question.Niveau = new NiveauVM {
                    NiveauId = vm.SelectedNiveauId
                };

                await questionsService.UpdateAsync(vm.Question);

                return(RedirectToAction("Index"));
            }

            return(View(vm));
        }