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)); }
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")); } }
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)); }