public ActionResult Edit(CourseCreateEdit newCourse) { if (newCourse.Name == "" || newCourse.Number_of_Hours < 0 || newCourse.Number_of_Classes < 0 || newCourse.Description == null) { return(View(newCourse)); } List <Person> studentsList = new List <Person>(); List <Person> teachersList = new List <Person>(); List <Program> programList = new List <Program>(); List <Blog> blogsList = new List <Blog>(); for (int i = 0; i < newCourse.Chosen_Teachers.Count(); i++) { if (newCourse.Chosen_Teachers[i]) { string id = newCourse.Teachers[i].Id; Person teacher = db.Users.Where(p => p.Id == id).FirstOrDefault(); teachersList.Add(teacher); } } for (int i = 0; i < newCourse.Chosen_Programs.Count(); i++) { if (newCourse.Chosen_Programs[i]) { int id = newCourse.Programs[i].ID; Program program = db.Program.Where(p => p.ID == id).FirstOrDefault(); programList.Add(program); } } for (int i = 0; i < newCourse.Chosen_Blogs.Count(); i++) { if (newCourse.Chosen_Blogs[i]) { int id = newCourse.Blogs[i].ID; Blog blog = db.Blog.Where(p => p.ID == id).FirstOrDefault(); blogsList.Add(blog); } } var course = db.Course.Where(c => c.ID == newCourse.ID).First(); if (course == null) { return(HttpNotFound()); } course.Name = newCourse.Name; course.Description = newCourse.Description; course.BasePart = newCourse.Base_Part; course.Date_and_Time = newCourse.Date_and_Time; course.Number_of_Classes = newCourse.Number_of_Classes; course.Number_of_Hours = newCourse.Number_of_Hours; course.Report_Type = newCourse.Report_Type; course.Teachers.Clear(); course.Programs.Clear(); course.Blogs.Clear(); course.Teachers = teachersList; course.Programs = programList; course.Blogs = blogsList; db.SaveChanges(); return(RedirectToAction("Index", "Courses")); }
public ActionResult Create(CourseCreateEdit newCourse) { if (newCourse.Name == null || newCourse.Number_of_Hours < 0 || newCourse.Number_of_Classes < 0 || newCourse.Description == null) { return(View(newCourse)); } List <Person> studentsList = new List <Person>(); List <Person> teachersList = new List <Person>(); List <Program> programList = new List <Program>(); List <Blog> blogsList = new List <Blog>(); for (int i = 0; i < newCourse.Chosen_Teachers.Count(); i++) { if (newCourse.Chosen_Teachers[i]) { string id = newCourse.Teachers[i].Id; Person teacher = db.Users.Where(p => p.Id == id).FirstOrDefault(); teachersList.Add(teacher); } } for (int i = 0; i < newCourse.Chosen_Programs.Count(); i++) { if (newCourse.Chosen_Programs[i]) { int id = newCourse.Programs[i].ID; Program program = db.Program.Where(p => p.ID == id).FirstOrDefault(); programList.Add(program); } } for (int i = 0; i < newCourse.Chosen_Blogs.Count(); i++) { if (newCourse.Chosen_Blogs[i]) { int id = newCourse.Blogs[i].ID; Blog blog = db.Blog.Where(p => p.ID == id).FirstOrDefault(); blogsList.Add(blog); } } var course = new Course { Name = newCourse.Name, Description = newCourse.Description, BasePart = newCourse.Base_Part, Date_and_Time = newCourse.Date_and_Time, Number_of_Classes = newCourse.Number_of_Classes, Number_of_Hours = newCourse.Number_of_Hours, Report_Type = newCourse.Report_Type, Teachers = teachersList, Programs = programList, Blogs = blogsList }; if (newCourse.Chosen_Programs.ToArray().Contains(true)) { course.Grade = newCourse.Chosen_Programs.ToList().IndexOf(true) + 3; } db.Course.Add(course); db.SaveChanges(); return(RedirectToAction("Index", "Courses")); }