private void SyncStudentList() { ClassMarkList = StudentSubjectMarksRepo.GetStudentsMark(SelectedClassID, SelectedExamID, SelectedSubjectID, SelectedSectionID, SessionID); IEnumerable <Student> stdList = ClassStudentRepo.GetStudents(SelectedClassID, SelectedSectionID); if (ClassMarkList.Count() != stdList.Count()) { foreach (var item in stdList) { bool isExisted = false; foreach (var std in ClassMarkList) { if (std.StudentID == item.StudentID && std.ClassID == item.ClassID) { isExisted = true; } } if (!isExisted) { ClassMarkList = ClassMarkList.Add(new StudentSubjectMarks { SessionID = SessionID, StudentID = item.StudentID, StudentName = item.FullName, StudentRoleNumber = item.RegistrationNumber, isNew = true }); } } } }
private void btnSaveMarks_Click(object sender, RoutedEventArgs e) { if (ClassMarkList != null) { if (SelectedExamID > 0 && SelectedClassID > 0 && SelectedSubjectID > 0 && SelectedSectionID > 0) { foreach (var item in ClassMarkList) { item.ClassID = SelectedClassID; item.SubjectID = SelectedSubjectID; item.ExamID = SelectedExamID; item.TotalMarks = TotalMarks; item.SectionID = SelectedSectionID; item.created_by = item.updated_by = UserID; if (item.isNew) { StudentSubjectMarksRepo.Insert(item); } else { StudentSubjectMarksRepo.Update(item); } } } } }
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); } } }