示例#1
0
        public Course GetCourse(int id, int schoolId)
        {
            Domain.Course course = _context.Courses.Include(c => c.Documents)
                                   .Include(c => c.Subject).FirstOrDefault(c => c.Id == id);

            return(_mapper.Map <Course>(course));
        }
示例#2
0
        public void DeleteCourse(Course course, int schoolId)
        {
            Domain.Course deleteCourse = _context.Courses
                                         .Include(c => c.CourseCatalogues).FirstOrDefault(c => c.Id == course.Id);

            _context.Remove(deleteCourse);
            _context.SaveChanges();
        }
示例#3
0
        public async System.Threading.Tasks.Task AddTeacher_ToCourse_TestAsync()
        {
            var options = new DbContextOptionsBuilder <OlpContext>()
                          .UseInMemoryDatabase(databaseName: "Add_writes_to_database_TeacherCourses")
                          .Options;

            // Run the test against one instance of the context
            using (var context = new OlpContext(options))
            {
                Teacher teacher = new Domain.Teacher()
                {
                    FirstName = "Test Name",
                    LastName  = "Test last name",
                    Email     = "test email",
                };

                var teacherService = new TeacherService(context);
                await teacherService.Create(teacher);

                Teacher fecthedTeacher = await teacherService.FindBy(x => x.FirstName == teacher.FirstName);

                Assert.AreEqual(fecthedTeacher.FirstName, teacher.FirstName);

                Course course = new Domain.Course()
                {
                    Name        = "Test course name",
                    Description = "test course desc",
                };

                var courseService = new CourseService(context);
                await courseService.Create(course);

                Course fecthedCourse = await courseService.FindBy(x => x.Name == course.Name);

                Assert.AreEqual(fecthedCourse.Name, course.Name);

                //teacher.TeacherCourses.Add(course);

                TeacherCourse teacherCourse = new TeacherCourse()
                {
                    Course  = course,
                    Teacher = teacher
                };

                context.Add(teacherCourse);
                context.SaveChanges();

                TeacherCourse fecthedTeacherCourse = context.TeacherCourses.FirstOrDefaultAsync().Result;

                Assert.AreEqual(fecthedTeacherCourse.Teacher.UserId, teacher.UserId);

                fecthedCourse = await courseService.FindBy(x => x.Name == course.Name);

                Assert.AreEqual(fecthedCourse.TeacherCourses.Count, 1);

                //Assert.AreEqual(teacher.TeacherCourses, teacherCourse.Course);
            }
        }
示例#4
0
        public void UpdateCourse(Course course, CourseDTO courseDTO, int schoolId)
        {
            Domain.Course updateCourse = _context.Courses.FirstOrDefault(c => c.Id == course.Id);
            updateCourse.Name        = courseDTO.Name;
            updateCourse.Description = courseDTO.Description;
            updateCourse.SubjectId   = courseDTO.SubjectId;

            _context.SaveChanges();
        }
示例#5
0
        public void AddModuleToCourse()
        {
            var options = new DbContextOptionsBuilder <OLP_Context>()
                          .UseInMemoryDatabase(databaseName: "CourseModuleTest")
                          .Options;

            // Run the test against one instance of the context
            using (var context = new OLP_Context(options))
            {
                Domain.Course course = new Domain.Course()
                {
                    CourseId    = 1,
                    Name        = "PSI",
                    Description = "make viko great again"
                };

                var courseService = new CourseService(context);
                courseService.Create(course);

                Domain.Course fecthedCourse = courseService.FindBy(x => x.Name == course.Name);
                Assert.AreEqual(fecthedCourse.Name, course.Name);
                Console.Write("|Group  : " + course.Name + " successfully added");
                //insert module
                Domain.Module module = new Domain.Module()
                {
                    Name     = "TestModule",
                    ModuleId = 1,
                    CourseId = 1
                };

                var moduleService = new ModuleService(context);
                moduleService.Create(module);

                Domain.Module fetchedModule = moduleService.FindBy(x => x.Name == module.Name);
                Assert.AreEqual(fetchedModule.Name, module.Name);
                Assert.AreEqual(course.Name, fetchedModule.Course.Name);


                //insert record
                Domain.Record record = new Domain.Record()
                {
                    Name     = "TestRecord",
                    ModuleId = 1,
                    RecordId = 1
                };

                var recordService = new RecordService(context);
                recordService.Create(record);

                Domain.Record fetchedRecord = recordService.FindBy(x => x.Name == record.Name);
                Assert.AreEqual(fetchedRecord.Name, record.Name);

                Assert.AreEqual(course.Name, fetchedRecord.Module.Course.Name);

                Console.Write("|Course Name  : " + course.Name + " Course name through record " + fetchedRecord.Module.Course.Name);
            }
        }
示例#6
0
        public Course AddCourse(Course course, int schoolId)
        {
            Domain.Course newCourse = new Domain.Course()
            {
                Name        = course.Name,
                Description = course.Description,
                SubjectId   = course.Subject.Id,
                SchoolId    = schoolId
            };
            _context.Courses.Add(newCourse);
            _context.SaveChanges();

            course.Id = newCourse.Id;
            return(course);
        }