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 UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e)
 {
     if (FormMode == FormModes.Edit || FormMode == FormModes.View)
     {
         StudentDetail = StudentRepo.FindByID(SelectedStudenID);
         ParentDetail  = ParentRepo.FindByID(StudentDetail.ParentID);
         var _tempClass = ClassStudentRepo.FindByUserID(StudentDetail.StudentID);
         SelectedClassID = _tempClass != null ? _tempClass.ClassID : 0;
     }
     ViewModeGenericWork();
 }
        private void btnStudentSave_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (FormMode == FormModes.View)
            {
                this.ActualParent.Close();
                return;
            }

            if (isValidate())
            {
                int _studentID = 0;

                if (FormMode == FormModes.New)
                {
                    int parentid = 0;
                    StudentDetail.created_by = StudentDetail.updated_by = ParentDetail.updated_by = ParentDetail.created_by = Utilities.UserSession.UserID;
                    StudentDetail.ClassID    = SelectedClassID;
                    if (ParentDetail.isNew)
                    {
                        parentid = ParentRepo.Insert(ParentDetail);
                    }
                    else
                    {
                        ParentRepo.Update(ParentDetail);
                        parentid = ParentDetail.ParentID;
                    }
                    StudentDetail.ParentID           = parentid;
                    StudentDetail.RegistrationNumber = "123123";
                    _studentID = StudentRepo.Insert(StudentDetail);
                    ClassStudentRepo.Insert(new ClassStudent {
                        ClassID = SelectedClassID, StudentID = _studentID, created_by = StudentDetail.created_by, updated_by = StudentDetail.updated_by
                    });
                }
                else if (FormMode == FormModes.Edit)
                {
                    StudentDetail.ParentID   = ParentDetail.ParentID;
                    StudentDetail.updated_by = ParentDetail.updated_by = Utilities.UserSession.UserID;
                    StudentDetail.ClassID    = SelectedClassID;
                    StudentRepo.Update(StudentDetail);
                    ParentRepo.Update(ParentDetail);
                    ClassStudentRepo.Update(new ClassStudent {
                        ClassID = SelectedClassID, StudentID = _studentID, updated_by = StudentDetail.updated_by
                    });
                }
                this.ActualParent.Close();
            }
        }