public IActionResult PostCourse([FromBody] CourseChangeViewModel course) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok(repo.AddCourse(course))); }
public Course UpdateCourse(Guid id, CourseChangeViewModel course) { var record = db.Courses.Find(id); var sts = db.StudentCourses.Where(st => st.CourseId.Equals(id)); record.CourseName = course.CourseName; record.CourseStartDate = course.CourseStartDate; record.CourseEndDate = course.CourseEndDate; record.TrainHours = course.TrainHours; List <StudentCourse> studentCourses = new List <StudentCourse>(); var fromDb = sts.Select(st => st.StudentId); var fromWeb = course.Students; IEnumerable <int> studentsToAdd = fromWeb.Except(fromDb); foreach (var studentId in studentsToAdd) { var student = db.Students.Find(studentId); if (student != null) { StudentCourse studentCourse = new StudentCourse() { StudentId = studentId, //CourseName=course.CourseName, CourseId = id, StudentName = student.StudentName, SectionName = student.SectionName, SectionCode = student.SectionCode, Score = "N/A" //TrainHours=course.TrainHours }; studentCourses.Add(studentCourse); } ; } IEnumerable <int> studentsToDelete = fromDb.Except(fromWeb); foreach (var studentId in studentsToDelete) { var courseStudent = db.StudentCourses.FirstOrDefault(cs => cs.CourseId.Equals(record.CourseId) && cs.StudentId.Equals(studentId)); db.StudentCourses.Remove(courseStudent); } db.StudentCourses.AddRange(studentCourses); if (db.SaveChanges() != -1) { return(db.Courses.Include(c => c.StudentCourses).FirstOrDefault(c => c.CourseId.Equals(record.CourseId))); } else { return(null); } }
public IActionResult PutCourse([FromRoute] Guid id, [FromBody] CourseChangeViewModel course) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok(repo.UpdateCourse(id, course))); }
public Course AddCourse(CourseChangeViewModel course) { List <StudentCourse> studentCourses = new List <StudentCourse>(); Guid courseId = Guid.NewGuid(); foreach (var studentId in course.Students) { var student = db.Students.Find(studentId); if (student != null) { StudentCourse studentCourse = new StudentCourse() { StudentId = studentId, //CourseName=course.CourseName, CourseId = courseId, StudentName = student.StudentName, SectionName = student.SectionName, SectionCode = student.SectionCode //TrainHours=course.TrainHours }; studentCourses.Add(studentCourse); } } var record = new Course() { CourseId = courseId, CourseName = course.CourseName, CourseStartDate = course.CourseStartDate, CourseEndDate = course.CourseEndDate, TrainHours = course.TrainHours, CreateDate = DateTime.Now, StudentCourses = studentCourses }; db.Courses.Add(record); db.SaveChanges(); return(db.Courses.Find(record.CourseId)); }