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);
                }
            }
        }
示例#4
0
        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);
                }
            }
        }