public ActionResult EditStudents(int id, AdminControllerStudentVM studentModel)
        {
            TryUpdateModel(studentModel);
            if (studentModel.CourseListItems == null)
            {
                CourseRepository courseRepository = new CourseRepository();
                List<SelectListItem> List = new List<SelectListItem>();
                studentModel.CourseList = courseRepository.GetAll();

                foreach (var item in studentModel.CourseList)
                {
                    List.Add(new SelectListItem() { Text = item.Name, Value = item.Id.ToString() });
                }
                studentModel.CourseListItems = List;
            }

            if (ModelState.IsValid)
            {
                StudentRepository studentRepository = new StudentRepository();
                Student student = null;
                if (id > 0)
                {
                    student = studentRepository.GetById(id);
                    if (student.Course.Id != studentModel.CourseID)
                    {
                        CourseRepository courseRepository = new CourseRepository();
                        int newCode = courseRepository.GetById(studentModel.CourseID).Code;
                        int oldCode = courseRepository.GetById(student.Course.Id).Code;
                        StringBuilder sb = new StringBuilder();
                        sb.Append(student.FacultyNumber.ToString());
                        sb.Replace(oldCode.ToString(), newCode.ToString());
                        student.FacultyNumber = Convert.ToInt32(sb.ToString());
                    }
                    student.FirstName = studentModel.FirstName;
                    student.LastName = studentModel.LastName;
                    student.UserName = studentModel.UserName;
                    student.Password = SecurityService.CreateHash(studentModel.Password);
                    student.IsActive = studentModel.isActive;
                    student.CourseID = studentModel.CourseID;
                    studentRepository.Save(student);
                    return RedirectToAction("ManageStudents");
                }
                else
                {
                    student = studentRepository.GetAll(filter: s => s.UserName == studentModel.UserName).FirstOrDefault();
                    if (student == null)
                    {
                        student = new Student();
                        student.FirstName = studentModel.FirstName;
                        student.LastName = studentModel.LastName;
                        student.UserName = studentModel.UserName;
                        student.Password = studentModel.Password;
                        student.IsActive = studentModel.isActive;
                        student.FacultyNumber = GenerateFaculityNumber(studentModel.CourseID);
                        student.CourseID = studentModel.CourseID;
                        studentRepository.Save(student);
                    }
                    else
                    {
                        throw new ArgumentException("Invalid username !");
                    }
                    return RedirectToAction("ManageStudents");
                }
            }
            return View(studentModel);
        }
 public ActionResult ManageStudents()
 {
     StudentRepository studentRepository = new StudentRepository();
     AdminControllerStudentVM studentModel = new AdminControllerStudentVM();
     studentModel.studentList = studentRepository.GetAll();
     return View(studentModel);
 }
        public ActionResult EditStudents(int id)
        {
            CourseRepository courseRepository = new CourseRepository();
            StudentRepository studentRepository = new StudentRepository();
            AdminControllerStudentVM studentModel = new AdminControllerStudentVM();
            Student student = new Student();
            List<SelectListItem> List = new List<SelectListItem>();
            studentModel.CourseList = courseRepository.GetAll();

            foreach (var item in studentModel.CourseList)
            {
                List.Add(new SelectListItem() { Text = item.Name, Value = item.Id.ToString() });
            }

            if (id > 0)
            {
                student = studentRepository.GetById(id);
                List = List.Where(c => c.Text != student.Course.Name).ToList();
                studentModel.FirstName = student.FirstName;
                studentModel.LastName = student.LastName;
                studentModel.UserName = student.UserName;
                studentModel.Password = student.Password;
                studentModel.FacultyNumber = student.FacultyNumber;
                studentModel.CourseID = student.CourseID;
                studentModel.isActive = student.IsActive;
                studentModel.SelectedCurse = student.Course.Name;
                studentModel.Id = id;
            }
            if (id == 0)
            {
                student.FirstName = studentModel.FirstName;
                student.LastName = studentModel.LastName;
                student.UserName = studentModel.UserName;
                student.Password = studentModel.Password;
                student.CourseID = studentModel.CourseID;
            }
            studentModel.CourseListItems = List;
            return View(studentModel);
        }