public EditMarkVm GetMarkForEdit(int id) { Mark mark = this.Context.Marks.FirstOrDefault(m => m.Id == id); EditMarkVm vm = new EditMarkVm(); vm.Id = id; vm.Value = mark.Value; vm.SubjectName = mark.Subject.Name; vm.StudentId = mark.Student.Id; return(vm); }
public void EditMark(EditMarkVm vm, int id) { Mark mark = this.Context.Marks.FirstOrDefault(m => m.Id == id); Student student = this.Context.Students.FirstOrDefault(s => s.Id == vm.StudentId); Subject subject = this.Context.Subjects.FirstOrDefault(s => s.Name == vm.SubjectName); mark.Id = vm.Id; mark.Subject = subject; mark.Value = vm.Value; mark.Student = student; this.Context.Entry(mark).State = EntityState.Modified; this.Context.SaveChanges(); }
public bool IsSubjectNameExists(EditMarkVm vm) { if (vm.SubjectName == null) { return(true); } Subject subject = this.Context.Subjects.FirstOrDefault(s => s.Name == vm.SubjectName); if (subject == null) { return(false); } return(true); }
public ActionResult EditMark(EditMarkVm vm, int id) { if (!this.service.IsSubjectNameExists(vm)) { this.ModelState.AddModelError("SubjectName", "Subject must exist in School diary"); } if (!this.service.IsStudentExists(vm.StudentId)) { this.ModelState.AddModelError("Student", "Student must exist in School diary"); } if (this.ModelState.IsValid) { this.service.EditMark(vm, id); return(RedirectToAction("StudentMarks", "SchoolDiary", new { id = vm.StudentId })); } return(this.View(vm)); }
public ActionResult EditMark(int id) { EditMarkVm vm = this.service.GetMarkForEdit(id); return(this.View(vm)); }