コード例 #1
0
        public async Task <IActionResult> CreateClass()
        {
            var user = await _userManager.GetUserAsync(User);

            var isAdmin = await IsAdmin();

            var schoolIds         = _schoolsServices.GetAllByUserId <SchoolViewModel>(user?.UniqueGradebookId, isAdmin).Select(s => s.Id);
            var teachersInSchools = _teachersService.GetAllBySchoolIds <TeacherViewModel>(schoolIds);
            var inputModel        = new ClassCreateInputModel
            {
                Teachers = teachersInSchools.Select(t => new SelectListItem($"{t.FirstName} {t.LastName} ({t.SchoolName})", t.Id.ToString())).ToList()
            };

            return(View(inputModel));
        }
コード例 #2
0
        public async Task <IActionResult> CreateClass(ClassCreateInputModel inputModel)
        {
            if (!ModelState.IsValid || inputModel.Class.TeacherId.IsNullOrEmpty())
            {
                //ToDo: in case of null teacher, return appropriate message or add model validation?
                return(View(inputModel));
            }

            try
            {
                await _classesService.CreateAsync(inputModel.Class);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"An exception occured during new class record creation. Ex: {e.Message}");
                return(RedirectToAction("Error", "Home"));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Create(ClassCreateInputModel model)
        {
            if (this.ModelState.IsValid && (model.SchoolYearEnd - model.SchoolYearStart == 1))
            {
                var serviceModel = model.To <ClassServiceModel>();

                var result = await this.classService.CreateClassAsync(serviceModel);

                if (result)
                {
                    return(this.RedirectToAction("All"));
                }
            }

            var classNumbers = this.classService.GetClassNumbersDropdown();
            var teacherNames = await this.userService.GetTeacherNames();

            this.ViewBag.ClassNumbers = classNumbers;
            this.ViewBag.TeacherNames = teacherNames;

            return(this.View(model));
        }