public async Task <IActionResult> Index(StudentsViewModel student) { // add the teacher add server side to avoid security hole. student.TeacherId = ((ClaimsIdentity)User.Identity).Claims.FirstOrDefault(u => u.Type == ClaimTypes.NameIdentifier).Value; ModelState.Clear(); await TryUpdateModelAsync((Student)student); if (ModelState.IsValid) { var create = await _studentService.CreateStudent((Student)student); if (create == false) { ModelState.AddModelError("Email", "Sorry, email must be unique."); } if (ModelState.IsValid) { ModelState.Clear(); return(RedirectToAction("Index")); } else { student.StudentsTable = _studentService.GetStudentTable(student.TeacherId); return(View((StudentsViewModel)student)); } } else { return(RedirectToAction("Index")); } }
public ActionResult Create([Bind(Include = "StudentID,RegistrationNumber,Name,Birthday")] Student student) { if (ModelState.IsValid) { service.CreateStudent(student); return(RedirectToAction("Index")); } return(View(student)); }
public async Task <ActionResult <Student> > CreateStudent(Student student) { return(await _studentsService.CreateStudent(student)); }