public ActionResult AddCourse([Bind(Include = "Course_code,Course_title,Credit_hour,Semester,UnderFaculty,UnderDepartment,CourseTeacherID")] Course course)
        {
            if (!HasSession()) return RedirectToAction("Index", "Home");

            course.Course_code = course.Course_code.Trim().Replace(" ", "_").Replace("-", "_").ToUpper();
            Course crs = db.Courses.Where(a => a.Course_code == course.Course_code).FirstOrDefault();

            string message = course.Course_code + " Course Already Exsist.";
            if (crs == null)
            {
                CreateDatabaseAndTable cdt = new CreateDatabaseAndTable(course.UnderFaculty);
                message = cdt.AddCourse(course.Course_code, course.Semester);
                Teacher tcr = db.Teacher.Where(dp => dp.TeacherID == course.CourseTeacherID).FirstOrDefault();
                if (tcr != null)
                {
                    course.CourseTeacherName = tcr.Name;
                    course.CourseTeacherDepartment = tcr.Department;
                    course.CourseTeacherFaculty = tcr.Faculty;
                }
                db.Courses.Add(course);
                db.SaveChanges();
            }

            ViewBag.Message = message + " Under "
                   + course.UnderFaculty + " faculty, under " + course.UnderDepartment + " department.";

            //ViewBag.Message = course.Course_code + " added failed or already exists.";
            ViewBag.faculties = db.Faculty.ToList();

            return View();
        }
        public ActionResult AddFaculty([Bind(Include = "FacultyName,ShortForm")] Faculty faculty)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }

            faculty.ShortForm = faculty.ShortForm.ToUpper();

            if (db.Faculty.Where(a => a.ShortForm == faculty.ShortForm || a.FacultyName == faculty.FacultyName).FirstOrDefault() == null)
            {
                CreateDatabaseAndTable cdt = new CreateDatabaseAndTable(faculty.ShortForm);
                cdt.CreateDatabase(faculty.ShortForm);

                db.Faculty.Add(faculty);
                db.SaveChanges();
                ViewBag.Message = "Successfully Faculty Added..! ";
            }
            else
            {
                ViewBag.ErrorMessage = "Faculty Already Exists..!";
            }

            return(View());
        }
        public ActionResult EditCourse([Bind(Include = "id,Course_code,Course_title,Credit_hour,Semester,UnderFaculty,CourseTeacherID")] Course course)
        {
            if (!HasSession()) return RedirectToAction("Index", "Home");

            Course crs = db.Courses.Find(course.id);
            db.Entry(crs).State = EntityState.Detached;
            course.Course_code = course.Course_code.Trim().Replace(" ", "_").Replace("-", "_").ToUpper();

            if (!crs.Course_code.Equals(course.Course_code))
            {
                CreateDatabaseAndTable cdt = new CreateDatabaseAndTable(crs.UnderFaculty);
                cdt.AlterCourseTable(crs.Course_code, course.Course_code);
                string table = (course.Semester % 2 == 1) ? "JanEnrollment" : "JulEnrollment";
                cdt.RenameTableColumn(table, crs.Course_code, course.Course_code);

            }
            if (ModelState.IsValid)
            {
                Teacher tcr = db.Teacher.Where(dp => dp.TeacherID == course.CourseTeacherID).FirstOrDefault();
                if (tcr != null)
                {
                    course.CourseTeacherName = tcr.Name;
                    course.CourseTeacherDepartment = tcr.Department;
                    course.CourseTeacherFaculty = tcr.Faculty;
                }
                db.Entry(course).State = EntityState.Modified;
                db.SaveChanges();
                ViewBag.Message = course.Course_code + " Updated!";
            }
            else ViewBag.Error = course.Course_code + " Not Updated!";

            return RedirectToAction("ManageCourse", "Course");
        }
        public ActionResult EditFaculties([Bind(Include = "id,FacultyName,ShortForm")] Faculty faculty)
        {
            if (!HasSession())
            {
                return(RedirectToAction("Index", "Home"));
            }

            faculty.ShortForm = faculty.ShortForm.ToUpper();

            Faculty oldFaculty = db.Faculty.Find(faculty.id);

            db.Entry(oldFaculty).State = EntityState.Detached;
            Boolean ck = false;

            if (!faculty.ShortForm.Equals(oldFaculty.ShortForm))
            {
                CreateDatabaseAndTable cdt = new CreateDatabaseAndTable(oldFaculty.ShortForm);
                ck = cdt.AlterDatabase(oldFaculty.ShortForm, faculty.ShortForm);
            }

            if (ck == false)
            {
                return(View(db.Faculty.Find(faculty.id)));
            }

            if (ModelState.IsValid)
            {
                db.Entry(faculty).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(RedirectToAction("ManageFaculty", "Faculty"));
        }