예제 #1
0
        public void EditCourseControllerTest()
        {
            string oldTitle    = "SA";
            string newTitle    = "New SA";
            string description = "none";
            string suitable    = "CS student";
            string price       = "10000";
            string notice      = "none";
            string other       = "none";


            CourseRepository courseRepository = new CourseRepositoryImpl();
            AddCourse        addCourse        = new AddCourseImpl(courseRepository);

            AddCourseInput  input = (AddCourseInput)addCourse;
            AddCourseOutput addCoursePresneter = new AddCoursePresenter();

            input.setTitle(oldTitle);
            input.setDescription(description);
            input.setSuitable(suitable);
            input.setPrice(price);
            input.setNotice(notice);
            input.setOther(other);

            AddCourseOutput output = addCoursePresneter;

            addCourse.execute(input, output);

            EditCourse editCourse = new EditCourseImpl(courseRepository);

            EditCourseInput  _input = (EditCourseInput)editCourse;
            EditCourseOutput editCoursePresneter = new EditCoursePresenter();

            _input.setOldTitle(oldTitle);
            _input.setTitle(newTitle);
            _input.setDescription(description);
            _input.setSuitable(suitable);
            _input.setPrice(price);
            _input.setNotice(notice);
            _input.setOther(other);

            EditCourseOutput _output = editCoursePresneter;

            editCourse.execute(_input, _output);
            Assert.AreEqual(_output.getNewTitle(), "New SA");

            DeleteCourse deleteCourse = new DeleteCourseImpl(courseRepository);

            DeleteCourseInput  __input = (DeleteCourseInput)deleteCourse;
            DeleteCourseOutput deleteCoursePresneter = new DeleteCoursePresenter();

            __input.setTitle(newTitle);

            DeleteCourseOutput __output = deleteCoursePresneter;

            deleteCourse.execute(__input, __output);
        }
예제 #2
0
        public void execute(EditCourseInput input, EditCourseOutput output)
        {
            Course course = new Course(input.getTitle(),
                                       input.getDescription(),
                                       input.getSuitable(),
                                       input.getPrice(),
                                       input.getNotice(),
                                       input.getOther());

            output.setNewTitle(input.getTitle());
            courseRepository.update(input.getOldTitle(), course);
        }
예제 #3
0
        public void editCourseExecute(string oldTitle, string title, string description, string suitable, string price, string notice, string other)
        {
            EditCourseInput input = (EditCourseInput)editCourse;

            input.setOldTitle(oldTitle);
            input.setTitle(title);
            input.setDescription(description);
            input.setSuitable(suitable);
            input.setPrice(price);
            input.setNotice(notice);
            input.setOther(other);

            EditCourseOutput output = editCoursePresenter;

            editCourse.execute(input, output);
        }
예제 #4
0
        //public async Task DeleteSSCourse(int id)
        //{
        //    //var count = await _studentCourseTimeRepository
        //    //    .CountAsync(x => !x.CourseTime.TeacherCourse.IsDeleted
        //    //       && x.CourseTime.TeacherCourse.CourseId == id);
        //    //if (count > 0) throw new UserFriendlyException("删除失败,已有学生预约该课程。");

        //    await _courseRepository.DeleteAsync(id);
        //}

        public async Task EditCourse(EditCourseInput input)
        {
            var course = await _courseRepository.FirstOrDefaultAsync(x => x.Id == input.Id);

            if (course == null)
            {
                throw new UserFriendlyException($"课程{input.Id}不存在!");
            }

            var subject = await _subjectRepository.FirstOrDefaultAsync(x => x.Id == input.SubjectProjectId);

            if (subject == null)
            {
                throw new UserFriendlyException($"所选项目不存在!");
            }

            course.SubjectProjectId = subject.Id;
            course.Name             = input.CourseName;
            course.Credit           = input.CourseCredit;
            course.LimitNumbers     = input.CourseLimitNumbers;
            course.Remark           = input.Remark;

            await _courseRepository.UpdateAsync(course);
        }