private void btnViewClassresult_Click(object sender, RoutedEventArgs e) { if (SelectedClassID > 0 && SelectedSectionID > 0 && SelectedExamID > 0) { ClassResultCard = null; SubjectList = ClassSubjectRepo.GetSelectedSubjects(SelectedClassID); int count = 2; for (int i = count; i < 20; i++) { grid.Columns[i].Visibility = System.Windows.Visibility.Collapsed; grid.Columns[i].Header = ""; } foreach (var subject in SubjectList) { grid.Columns[count].Visibility = System.Windows.Visibility.Visible; grid.Columns[count].Header = subject.Description; count++; } IEnumerable <StudentSubjectMarks> results = StudentSubjectMarksRepo.GetClassResult(SelectedExamID, SessionID, SelectedSectionID, SelectedClassID); IEnumerable <Student> studentsList = StudentRepo.GetAll().Where(p => p.ClassID == SelectedClassID && p.SectionID == SelectedSectionID); foreach (var student in studentsList) { IEnumerable <StudentSubjectMarks> subjectResult = results.Where(p => p.StudentID == student.StudentID); ClassResult classResult = new ClassResult(); classResult.StudentName = student.FullName; classResult.RoleNumber = student.StudentID.ToString(); count = 1; foreach (var item in SubjectList) { StudentSubjectMarks rs = subjectResult.Where(p => p.SubjectID == item.SubjectID).FirstOrDefault(); PropertyInfo propertyInfo = classResult.GetType().GetProperty("Subject" + count); if (rs != null) { propertyInfo.SetValue(classResult, Convert.ChangeType(rs.ObtainedMarks, propertyInfo.PropertyType), null); } else { propertyInfo.SetValue(classResult, Convert.ChangeType(0, propertyInfo.PropertyType), null); } count++; } ClassResultCard = ClassResultCard.Add(classResult); } } }
private void btnViewClassMarks_Click(object sender, RoutedEventArgs e) { if (SelectedClassID > 0 && SelectedSectionID > 0 && SelectedStudenID > 0) { IEnumerable <StudentSubjectMarks> results = StudentSubjectMarksRepo.GetSingleStudentResult(SelectedStudenID, SessionID, SelectedSectionID, SelectedClassID); IEnumerable <Subject> subjectList = ClassSubjectRepo.GetSelectedSubjects(SelectedClassID); foreach (var subject in subjectList) { IEnumerable <StudentSubjectMarks> subjectResult = results.Where(p => p.SubjectID == subject.SubjectID); StudentResultCard resultCard = new StudentResultCard(); int count = 1; foreach (var item in ExamList) { StudentSubjectMarks rs = subjectResult.Where(p => p.ExamID == item.ExamID).FirstOrDefault(); resultCard.SubjectName = rs.SubjectName; PropertyInfo propertyInfo = resultCard.GetType().GetProperty("Exam" + count); if (rs != null) { propertyInfo.SetValue(resultCard, Convert.ChangeType(rs.ObtainedMarks, propertyInfo.PropertyType), null); } else { propertyInfo.SetValue(resultCard, Convert.ChangeType(0, propertyInfo.PropertyType), null); } count++; } ResultCardList = ResultCardList.Add(resultCard); } } }