public IActionResult EditGrade(int id) { var grade = _gradesService.GetById <GradeInputModel>(id); var inputModel = new GradeModifyInputModel() { Id = id, Grade = grade }; return(View(inputModel)); }
public async Task EditAsync(GradeModifyInputModel modifiedModel) { var grade = _gradesRepository.All().FirstOrDefault(g => g.Id == modifiedModel.Id); if (grade != null) { var inputModel = modifiedModel.Grade; grade.Value = inputModel.Value; grade.Period = inputModel.Period; grade.Type = inputModel.Type; _gradesRepository.Update(grade); await _gradesRepository.SaveChangesAsync(); } }
public async Task EditAsyncTest() { OneTimeSetUp(); var expectGrade = _gradesRepositoryMock.Object.All().FirstOrDefault(); var newGrade = new GradeModifyInputModel() { Id = expectGrade.Id, Grade = new GradeInputModel() { StudentId = expectGrade.StudentSubject.StudentId, Period = GradePeriod.SecondTerm, Type = GradeType.Normal, }, }; await _gradesService.EditAsync(newGrade); expectGrade.Should().NotBe(newGrade); }
public async Task <IActionResult> DeleteGrade(GradeModifyInputModel inputModel, string onSubmitAction) { if (onSubmitAction.IsNullOrEmpty() || onSubmitAction == "Cancel") { return(RedirectToAction("SubjectsList", "Subjects", new { area = string.Empty })); } try { await _gradesService.DeleteAsync(inputModel.Id); return(RedirectToAction("SubjectsList", "Subjects", new { area = string.Empty })); } catch (Exception e) { _logger.LogError(e, $"An exception occured during student DELETE operation for grade with id {inputModel.Id}. Ex: {e.Message}"); return(RedirectToAction("Error", "Home")); } }
public async Task <IActionResult> EditGrade(GradeModifyInputModel inputModel) { if (!ModelState.IsValid) { return(View(inputModel)); } try { await _gradesService.EditAsync(inputModel); return(RedirectToAction("SubjectsList", "Subjects", new { area = string.Empty })); } catch (Exception e) { _logger.LogError(e, $"An exception occured during student UPDATE operation for grade with id {inputModel.Id}. Ex: {e.Message}"); return(RedirectToAction("Error", "Home")); } }