public ActionResult _GetStudentDetails(int ClassId, int DivisionId)
        {
            List <StudentClassChangeSubVM> studentClassChangeSubVMs = new List <StudentClassChangeSubVM>();
            int ClassDivisionId        = 0;
            ClassDivisionBAL balObject = new ClassDivisionBAL();
            IQueryable <Entities.ClassDivision> ClassDivisions = balObject.FindBy(cd => cd.ClassId == ClassId && cd.DivisionId == DivisionId);

            if (ClassDivisions != null && ClassDivisions.Count() > 0)
            {
                ClassDivisionId = ClassDivisions.FirstOrDefault().ClassDivisionId;
            }
            StudentBAL studentBAL = new StudentBAL();
            IQueryable <Entities.StudentClassChange> studentClassChanges = studentBAL.GetStudentClassChange(ClassDivisionId, SessionHelper.SchoolId);

            if (studentClassChanges != null && studentClassChanges.Count() > 0)
            {
                foreach (Entities.StudentClassChange studentLedgersGroupItem in studentClassChanges)
                {
                    StudentClassChangeSubVM studentTransactionSubVM = new StudentClassChangeSubVM();
                    studentTransactionSubVM.StudentId  = studentLedgersGroupItem.StudentId;
                    studentTransactionSubVM.RegisterId = studentLedgersGroupItem.RegisterId;
                    studentTransactionSubVM.StudentFullNameWithTitle = studentLedgersGroupItem.StudentFullNameWithTitle;
                    studentTransactionSubVM.CheckedValues            = true;
                    studentClassChangeSubVMs.Add(studentTransactionSubVM);
                }
            }
            return(PartialView("_GetStudentDetails", new GridModel <StudentClassChangeSubVM> {
                Data = studentClassChangeSubVMs
            }));
            //return PartialView("_GetStudentsList", studentClassChanges.AsEnumerable());
        }
        public ActionResult Index(FormCollection formCollection, StudentClassChangeVM viewModel)
        {
            if (formCollection["PreviousClassId"] != null && formCollection["PreviousClassId"] != "")
            {
                viewModel.PreviousClassId = Convert.ToInt32(formCollection["PreviousClassId"]);
            }
            if (formCollection["PreviousDivisionId"] != null && formCollection["PreviousDivisionId"] != "")
            {
                viewModel.PreviousDivisionId = Convert.ToInt32(formCollection["PreviousDivisionId"]);
            }
            if (viewModel.PreviousClassId > 0 && viewModel.PreviousDivisionId > 0)
            {
                ClassDivisionBAL classDivisionBAL = new ClassDivisionBAL();
                IQueryable <Entities.ClassDivision> classDivistions = classDivisionBAL.FindBy(cd => cd.ClassId == viewModel.PreviousClassId && cd.DivisionId == viewModel.PreviousDivisionId);
                if (classDivistions != null && classDivistions.Count() > 0)
                {
                    viewModel.PreviousClassDivisionId = classDivistions.FirstOrDefault().ClassDivisionId;
                }
            }


            if (formCollection["CurrentClassId"] != null && formCollection["CurrentClassId"] != "")
            {
                viewModel.CurrentClassId = Convert.ToInt32(formCollection["CurrentClassId"]);
            }
            if (formCollection["CurrentDivisionId"] != null && formCollection["CurrentDivisionId"] != "")
            {
                viewModel.CurrentDivisionId = Convert.ToInt32(formCollection["CurrentDivisionId"]);
            }
            if (viewModel.CurrentClassId > 0 && viewModel.CurrentDivisionId > 0)
            {
                ClassDivisionBAL classDivisionBAL = new ClassDivisionBAL();
                IQueryable <Entities.ClassDivision> classDivistions = classDivisionBAL.FindBy(cd => cd.ClassId == viewModel.CurrentClassId && cd.DivisionId == viewModel.CurrentDivisionId);
                if (classDivistions != null && classDivistions.Count() > 0)
                {
                    viewModel.CurrentClassDivisionId = classDivistions.FirstOrDefault().ClassDivisionId;
                }
            }
            string assignChkBx = string.Empty;

            if (formCollection["assignChkBx"] != null && formCollection["assignChkBx"] != "")
            {
                assignChkBx = Convert.ToString(formCollection["assignChkBx"]);
            }

            if (!string.IsNullOrEmpty(assignChkBx))
            {
                viewModel.StudentClassChangeSubList = new List <StudentClassChangeSubVM>();
                string[] strArrFeeId = assignChkBx.Split(',');

                if (strArrFeeId.Length > 0)
                {
                    for (int i = 0; i < strArrFeeId.Length; i++)
                    {
                        StudentClassChangeSubVM studentClassChangeSubVM = new StudentClassChangeSubVM();
                        studentClassChangeSubVM.StudentId = Convert.ToInt32(strArrFeeId[i]);
                        viewModel.StudentClassChangeSubList.Add(studentClassChangeSubVM);
                    }
                }
            }

            //if (viewModel.StudentClassChangeSubList != null)
            //{
            //    viewModel.NoOfSelectedRecords = viewModel.StudentClassChangeSubList.Count;
            //}

            TryUpdateModel <StudentClassChangeVM>(viewModel);

            if (ModelState.IsValid)
            {
                Entities.StudentClassChange entity = new Entities.StudentClassChange();

                entity.PreviousClassDivisionId = viewModel.PreviousClassDivisionId;

                entity.CurrentClassDivisionId = viewModel.CurrentClassDivisionId;
                entity.Remark          = myRes.Studenttransferfrompreviousclass;
                entity.SelectedStudent = new int[viewModel.StudentClassChangeSubList.Count()];
                int i = 0;
                foreach (var item in viewModel.StudentClassChangeSubList)
                {
                    entity.SelectedStudent[i] = item.StudentId;
                    i++;
                }

                StudentBAL balObject = new StudentBAL();
                balObject.StudentChangeClassDivision(entity, SessionHelper.SchoolId);
            }

            ClassBAL classBAL = new ClassBAL();

            viewModel.Classes = from obj in classBAL.GetAll() select new SelectListItem()
            {
                Text = obj.ClassName, Value = obj.ClassId.ToString()
            };

            return(View(viewModel));
        }