Exemple #1
0
        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));
        }
Exemple #3
0
 public async Task <ActionResult <Student> > CreateStudent(Student student)
 {
     return(await _studentsService.CreateStudent(student));
 }