public async Task <IActionResult> CreateParent() { var user = await _userManager.GetUserAsync(User); var isAdmin = await IsAdmin(); var schools = _schoolsServices.GetAllByUserId <SchoolViewModel>(user?.UniqueGradebookId, isAdmin).ToList(); var students = _studentsService.GetAllBySchoolIds <StudentViewModel>(schools.Select(s => s.Id)); var inputModel = new ParentCreateInputModel { Students = students.Select(s => new SelectListItem($"{s.FirstName} {s.LastName} ({s.SchoolName})", s.Id.ToString())).ToList() }; return(View(inputModel)); }
public async Task <IActionResult> CreateParent(ParentCreateInputModel inputModel) { if (!ModelState.IsValid || !inputModel.Parent.StudentIds.Any()) { //ToDo: in case of null school/class, return appropriate message or add model validation? return(View(inputModel)); } try { var confirmViewModel = await _parentsService.CreateParentAsync <ConfirmCreatedViewModel>(inputModel.Parent); return(RedirectToAction(nameof(ConfirmCreated), confirmViewModel)); } catch (Exception e) { _logger.LogError(e, $"An exception occured during new parent record creation. Ex: {e.Message}"); return(RedirectToAction("Error", "Home")); } }