public async Task UpdateOralExam(OralExamUpdate model) { var studentExam = await context.StudentExam .Include(_ => _.Enrolment) .FirstOrDefaultAsync(_ => _.Id == model.Id && _.ExamId == model.ExamId && _.EnrolmentId == model.EnrolmentId); if (studentExam == null) { throw new ValidationException("Ne postoji traženi studentski ispit."); } studentExam.Description = model.Description; studentExam.Score = model.Score; studentExam.Grade = model.Grade.ConvertGrade(); studentExam.Participated = model.Participated; studentExam.Enrolment.FinalGrade = model.FinalGrade.ConvertGrade(); studentExam.Enrolment.GradeDate = model.FinalGrade.HasValue && model.FinalGrade.Value != Grade.NoGrade ? model.FinalGradeDate : null; var errorsStudentExam = studentExam.Validate(); var errorsEnrolment = studentExam.Enrolment.Validate(); if (errorsStudentExam.Any() || errorsEnrolment.Any()) { throw new ValidationPropertyException(errorsStudentExam.Concat(errorsEnrolment).ToDictionary(_ => _.Key, _ => _.Value)); } context.StudentExam.Update(studentExam); await context.SaveChangesAsync(); }
private void NavigateOralExamUpdate_Click(object sender, RoutedEventArgs e) { var page = new OralExamUpdate(); MainContent.Navigate(page); }