public IActionResult UpdateModule([Bind("StudentId, ModuleId, Mark")] StudentModuleViewModel sm)
        {
            if (ModelState.IsValid)
            {
                svc.UpdateStudentModuleMark(sm.StudentId, sm.ModuleId, sm.Mark);

                return(RedirectToAction(nameof(Details), new { Id = sm.StudentId }));
            }
            // redisplay the form for editing
            return(View(sm));
        }
        public IActionResult CreateModule([Bind("StudentId, ModuleId, Mark")] StudentModuleViewModel sm)
        {
            if (ModelState.IsValid)
            {
                svc.AddStudentToModule(sm.StudentId, sm.ModuleId);
                svc.UpdateStudentModuleMark(sm.StudentId, sm.ModuleId, sm.Mark);
                return(RedirectToAction(nameof(Details), new { Id = sm.StudentId }));
            }
            // redisplay the form for editing
            // note - we must re-create the selectlist and update view model Modules property
            //        this is because the form does not retain the select list values when posted to server
            var modules = svc.GetAvailableModulesForStudent(sm.StudentId);

            sm.Modules = new SelectList(modules, "Id", "Title");
            return(View(sm));
        }
        public IActionResult CreateModule(int id)
        {
            var sm = svc.GetStudent(id);

            if (sm == null)
            {
                Alert("StudentNot Found", AlertType.warning);
                return(RedirectToAction(nameof(Index)));
            }
            var modules = svc.GetAvailableModulesForStudent(id);
            var vm      = new StudentModuleViewModel {
                Modules   = new SelectList(modules, "Id", "Title"),
                StudentId = id
            };

            return(View(vm));
        }
        public IActionResult UpdateModule(int id)
        {
            var sm = svc.GetStudentModule(id);

            if (sm == null)
            {
                Alert("Student Module Not Found", AlertType.warning);
                return(RedirectToAction(nameof(Details)));
            }
            var vm = new StudentModuleViewModel {
                StudentId = sm.StudentId,
                ModuleId  = sm.ModuleId,
                Mark      = sm.Mark
            };

            return(View(vm));
        }