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);
        }