Example #1
0
        public async Task <IActionResult> AddClassToSubject()
        {
            var user = await _userManager.GetUserAsync(User);

            var isAdmin = await IsAdmin();

            var schoolIds        = _schoolsServices.GetAllByUserId <SchoolViewModel>(user?.UniqueGradebookId, isAdmin).Select(s => s.Id);
            var classesInSchool  = _classesService.GetAllByMultipleSchoolIds <ClassViewModel>(schoolIds.ToList());
            var subjectsInSchool = _subjectsService.GetAllByMultipleSchoolIds <SubjectViewModel>(schoolIds.ToList());
            var inputModel       = new ClassSubjectCreateInputModel
            {
                Classes  = classesInSchool.Select(c => new SelectListItem($"{c.Year}{c.Letter} ({c.Teacher.SchoolName})", c.Id.ToString())).ToList(),
                Subjects = subjectsInSchool.Select(s => new SelectListItem($"{s.Name} ({s.TeacherSchoolName})({s.TeacherFullName})", s.Id.ToString())).ToList(),
            };

            return(View(inputModel));
        }
Example #2
0
        public async Task <IActionResult> AddClassToSubject(ClassSubjectCreateInputModel inputModel)
        {
            if (!ModelState.IsValid || inputModel.ClassSubjectPair.ClassId.IsNullOrEmpty() || inputModel.ClassSubjectPair.SubjectId.IsNullOrEmpty())
            {
                return(View(inputModel));
            }

            try
            {
                await _subjectsService.AssignAllStudentsFromClassToSubject(inputModel.ClassSubjectPair);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"An exception occured during map between class with ID {inputModel.ClassSubjectPair.ClassId} and subject with ID {inputModel.ClassSubjectPair.SubjectId}. Ex: {e.Message}");
                return(RedirectToAction("Error", "Home"));
            }
        }