public ActionResult AssignStudents(AssignStudent assignS)
        {
            Users user = (Users)Session["user"];

            if (user == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            else if (user.permission != 2)
            {
                return(perm.CheckPermission(user));
            }
            else
            {
                string courseName = assignS.course_name.ToString();
                int    studentID  = assignS.student_ID;

                List <Courses> dbCourse = (from x in dal.Courses
                                           where (x.courseName.Equals(courseName))
                                           select x).ToList <Courses>();

                //checking if this course exist.
                if (dbCourse.Count > 0)
                {
                    List <Students> dbStudent = (from x in dal.Students
                                                 where (x.Users_userID.Equals(studentID) && x.Courses_cName.Equals(courseName))
                                                 select x).ToList <Students>();
                    //checking if this student is not already studying this course.
                    if (dbStudent.Count == 0)
                    {
                        //checking if this course doesn't collide with another course time.
                        if (check_student_hours(studentID, courseName))
                        {
                            dal.Students.Add(new Students {
                                Courses_cName = courseName, Users_userID = studentID
                            });
                            dal.SaveChanges();

                            TempData["Message"] = "Assigned successfully";
                            return(perm.CheckPermission(user));
                        }
                        else
                        {
                            TempData["Message"] = "Failed - The student cannot study two courses at the same time!";
                            return(View());
                        }
                    }
                    else
                    {
                        TempData["Message"] = "Assigned Failed, The student is in this course already exists.";
                        return(View());
                    }
                }
                else
                {
                    TempData["Message"] = "The course you tried to assign, does not exist.";
                    return(View());
                }
            }
        }
        public ActionResult AssignStudents()
        {
            Users user = (Users)Session["user"];

            if (user == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            else if (user.permission != 2)
            {
                return(perm.CheckPermission(user));
            }
            else
            {
                AssignStudent assignS = new AssignStudent();

                return(View(assignS));
            }
        }