public async Task <IActionResult> AddGrade(int id, QuizOrAssignment qOrA) { if (id != qOrA.ID) { return(NotFound()); } if (ModelState.IsValid) { if (qOrA.Type == "Quiz1") { var term = await authDbContext.TermGrades.FirstOrDefaultAsync( i => i.Quiz1ID == qOrA.ID); authDbContext.Update(term); } else if (qOrA.Type == "Quiz2") { var term = await authDbContext.TermGrades.FirstOrDefaultAsync( i => i.Quiz2ID == qOrA.ID); authDbContext.Update(term); } else if (qOrA.Type == "Quiz3") { var term = await authDbContext.TermGrades.FirstOrDefaultAsync( i => i.Quiz3ID == qOrA.ID); authDbContext.Update(term); } else if (qOrA.Type == "Assignment1") { var term = await authDbContext.TermGrades.FirstOrDefaultAsync( i => i.Assignment1ID == qOrA.ID); authDbContext.Update(term); } else if (qOrA.Type == "Assignment2") { var term = await authDbContext.TermGrades.FirstOrDefaultAsync( i => i.Assignment2ID == qOrA.ID); authDbContext.Update(term); } else if (qOrA.Type == "Assignment3") { var term = await authDbContext.TermGrades.FirstOrDefaultAsync( i => i.Assignment3ID == qOrA.ID); authDbContext.Update(term); } authDbContext.Update(qOrA); await authDbContext.SaveChangesAsync(); return(RedirectToAction("MyStudents")); } return(View()); }
//database relationships public TermGrade InitializeGrades(string term) { var termGrade = new TermGrade { Term = term, Grade = 0 }; string[] types = { "Quiz1", "Quiz2", "Quiz3", "Assignment1", "Assignment2", "Assignment3" }; var item = new QuizOrAssignment(); for (int i = 0; i < types.Length; i++) { item = new QuizOrAssignment { Grade = 0, Type = types[i] }; authDbContext.Add(item); authDbContext.SaveChanges(); switch (i) { case 0: termGrade.Quiz1ID = item.ID; break; case 1: termGrade.Quiz2ID = item.ID; break; case 2: termGrade.Quiz3ID = item.ID; break; case 3: termGrade.Assignment1ID = item.ID; break; case 4: termGrade.Assignment2ID = item.ID; break; case 5: termGrade.Assignment3ID = item.ID; break; default: break; } } return(termGrade); }