Пример #1
0
        public async Task <Response <CourseDto> > Handle(GetCourseByIdQuery request, CancellationToken cancellationToken)
        {
            var course = await _courseRepositoryAsync.GetAsync(request.Id);

            var courseDto = _mapper.Map <CourseDto>(course);

            return(new Response <CourseDto>(courseDto));
        }
Пример #2
0
        public async Task <Response <Guid> > Handle(DeleteCourseByIdCommand request, CancellationToken cancellationToken)
        {
            var course = await _courseRepositoryAsync.GetAsync(request.Id);

            if (course is null)
            {
                throw new InvalidOperationException("Course not found.");
            }
            await _courseRepositoryAsync.RemoveAsync(course);

            return(new Response <Guid>(course.Id));
        }
Пример #3
0
        public async Task <Response <Guid> > Handle(UpdateCourseCommand request, CancellationToken cancellationToken)
        {
            var course = await _courseRepositoryAsync.GetAsync(request.Id);

            if (course is null)
            {
                throw new InvalidOperationException("Course not found.");
            }

            course.Name        = request.Name;
            course.Description = request.Description;
            course.Price       = request.Price;
            await _courseRepositoryAsync.UpdateAsync(course);

            return(new Response <Guid>(course.Id));
        }