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