/// <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 })); } }