/// Gets all rubric items by course identifier from online db.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>List of rubric items matching course id</returns>
        public IList <GradeItemGrade> DbGetAllGradedGradeItemsByCourseId(int id)
        {
            GradeItemRepository gRepo    = new GradeItemRepository();
            var gradeItems               = gRepo.GetAllGradeItemsByCourse(id);
            List <GradeItemGrade> grades = new List <GradeItemGrade>();

            foreach (var gi in gradeItems)
            {
                const string sqlStatementGetById =
                    "SELECT sid, aid, grade, graded from `cs4982s19c`.`Course_student_grade_item_grade` WHERE aid = @id";
                using (this.dbConnection)
                {
                    this.dbConnection.Open();
                    var query = this.dbConnection.CreateCommand();
                    query.CommandText = sqlStatementGetById;
                    query.Parameters.Add("@id", MySqlDbType.Int32, 11);
                    query.Parameters["@id"].Value = gi.AssignmentId;
                    using (var reader = query.ExecuteReader())
                        while (reader.Read())
                        {
                            grades.Add(new GradeItemGrade()
                            {
                                Grade        = Convert.ToInt32(reader.GetString(2)),
                                assignmentID = reader.GetInt32(1),
                                studentID    = reader.GetInt32(0),
                                Graded       = reader.GetBoolean(3)
                            });
                        }
                }
            }

            return(grades);
        }
        /// <summary>
        /// Gets the student grade item grades.
        /// </summary>
        /// <param name="studentId">The student identifier.</param>
        /// <param name="courseId">The course identifier.</param>
        /// <returns></returns>
        public List <StudentGradeItemGrade> GetStudentGradeItemGrades(int studentId, int courseId)
        {
            var gradeRepo = new GradeItemRepository();
            List <GradeItemGrade> grades = (List <GradeItemGrade>)gradeRepo.GetAllGradeItemGradeByCourse(courseId);
            var studentGrades            = gradeRepo.CreateAllStudentGradeItemGrades(grades, courseId);
            var selectedItems            = from gi in studentGrades
                                           where gi.studentID == studentId &&
                                           gi.Grade != 0
                                           select gi;

            var studentItems = selectedItems.ToList <StudentGradeItemGrade>();

            return(studentItems);
        }