public async Task EditAsync(StudentModifyInputModel modifiedModel) { var student = _studentsRepository.All().FirstOrDefault(s => s.Id == modifiedModel.Id); if (student != null) { var inputModel = modifiedModel.Student; student.FirstName = inputModel.FirstName; student.LastName = inputModel.LastName; student.BirthDate = inputModel.BirthDate; student.PersonalIdentificationNumber = inputModel.PersonalIdentificationNumber; var schoolId = int.Parse(inputModel.SchoolId); var school = _schoolsRepository.All().FirstOrDefault(s => s.Id == schoolId); if (school != null) { student.School = school; var classId = int.Parse(inputModel.ClassId); if (school.Classes.Any(c => c.Id == classId)) { student.Class = school.Classes.FirstOrDefault(c => c.Id == classId); } } _studentsRepository.Update(student); await _studentsRepository.SaveChangesAsync(); } }
public IActionResult DeleteStudent(int id) { var student = _studentsService.GetById <StudentInputModel>(id); var inputModel = new StudentModifyInputModel() { Id = id, Student = student }; return(View(inputModel)); }
public async Task <IActionResult> EditStudent(int id) { var user = await _userManager.GetUserAsync(User); var isAdmin = await IsAdmin(); var schools = _schoolsServices.GetAllByUserId <SchoolViewModel>(user?.UniqueGradebookId, isAdmin); var student = _studentsService.GetById <StudentInputModel>(id); var inputModel = new StudentModifyInputModel() { Id = id, Schools = schools.Select(s => new SelectListItem(s.Name, s.Id.ToString())).ToList(), Classes = SetClasses(schools).ToList(), Student = student }; return(View(inputModel)); }
public async Task <IActionResult> DeleteStudent(StudentModifyInputModel inputModel, string onSubmitAction) { if (onSubmitAction.IsNullOrEmpty() || onSubmitAction == "Cancel") { return(RedirectToAction(nameof(Index))); } try { await _studentsService.DeleteAsync(inputModel.Id); return(RedirectToAction(nameof(Index))); } catch (Exception e) { _logger.LogError(e, $"An exception occured during student DELETE operation for student with id {inputModel.Id}. Ex: {e.Message}"); return(RedirectToAction("Error", "Home")); } }
public async Task <IActionResult> EditStudent(StudentModifyInputModel inputModel) { if (!ModelState.IsValid || inputModel.Student.SchoolId.IsNullOrEmpty() || inputModel.Student.ClassId.IsNullOrEmpty()) { //ToDo: in case of null school/class, return appropriate message or add model validation? return(View(inputModel)); } try { await _studentsService.EditAsync(inputModel); return(RedirectToAction(nameof(Index))); } catch (Exception e) { _logger.LogError(e, $"An exception occured during student UPDATE operation for student with id {inputModel.Id}. Ex: {e.Message}"); return(RedirectToAction("Error", "Home")); } }