Example #1
0
        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));
        }
Example #2
0
        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"));
            }
        }