Ejemplo n.º 1
0
 public IActionResult PostCourse([FromBody] CourseChangeViewModel course)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     return(Ok(repo.AddCourse(course)));
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        public IActionResult PutCourse([FromRoute] Guid id, [FromBody] CourseChangeViewModel course)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(Ok(repo.UpdateCourse(id, course)));
        }
Ejemplo n.º 4
0
        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));
        }