/// <summary>
        /// Creates a course.
        /// </summary>
        /// <param name="subject">The subject abbreviation for the department in which the course will be added</param>
        /// <param name="number">The course number</param>
        /// <param name="name">The course name</param>
        /// <returns>A JSON object containing {success = true/false}. False if the course already exists, true otherwise.</returns>
        public IActionResult CreateCourse(string subject, int number, string name)
        {
            // Return false if the course already exists
            // Course is determined to exist if Department/Number already exist as a combination???
            var doesCourseExistQuery =
                from co in db.Courses
                where co.Number == number &&
                co.Department == subject
                select co.CatalogId;

            if (doesCourseExistQuery.Count() > 0)
            {
                return(Json(new { success = false }));
            }

            // Perform query to find an ideal catalog ID for new course
            var query =
                from co in db.Courses
                select co.CatalogId;

            // Selects the smallest unused catalogID number to use as new catalogID
            int[] queryArray = query.ToArray();
            Array.Sort(queryArray);
            int courseID = queryArray.Length;

            for (int i = 0; i < query.Count(); i++)
            {
                if (queryArray[i] > i)
                {
                    courseID = i;
                    break;
                }
            }

            // Set up the Course
            Models.LMSModels.Courses course = new Models.LMSModels.Courses();
            course.Department = subject;
            course.Number     = number;
            course.Name       = name;
            course.CatalogId  = courseID;

            // Insert the Course into the database
            db.Courses.Add(course);
            try
            {
                db.SaveChanges();
                return(Json(new { success = true }));
            }
            catch // If inserting changes to database fails
            {
                return(Json(new { success = false }));
            }
        }
        /// <summary>
        /// Creates a course.
        /// A course is uniquely identified by its number + the subject to which it belongs
        /// </summary>
        /// <param name="subject">The subject abbreviation for the department in which the course will be added</param>
        /// <param name="number">The course number</param>
        /// <param name="name">The course name</param>
        /// <returns>A JSON object containing {success = true/false}.
        /// false if the course already exists, true otherwise.</returns>
        public IActionResult CreateCourse(string subject, int number, string name)
        {
            using (Models.LMSModels.Team13LMSContext db = new Models.LMSModels.Team13LMSContext())
            {
                var query =
                    from c1 in db.Courses
                    where c1.CourseNumber == number && c1.SubjectAbbreviation == subject
                    select c1;

                if (query != null)
                {
                    return(Json(new { success = false }));
                }
                LMS.Models.LMSModels.Courses c = new Models.LMSModels.Courses();
                c.SubjectAbbreviation = subject;
                c.CourseNumber        = (ushort)number;
                c.Name = name;
                db.Courses.Add(c);
                db.SaveChanges();
                return(Json(new { success = true }));
            }
        }