Exemple #1
0
        public async Task <IOutput> Handle(LessonGetOneInput request, CancellationToken cancellationToken)
        {
            Entity.Lesson lesson = await _context.Lessons
                                   .Include(x => x.Comments)
                                   .ThenInclude(x => x.Author)
                                   .Include(x => x.Subject)
                                   .FirstOrDefaultAsync(x => x.Id == request.LessonId,
                                                        cancellationToken: cancellationToken);

            if (lesson is null)
            {
                _logger.LogInformation("Lesson with id {id} wasn't found", request.LessonId);
                return(ActionOutput.Error("Урок не существует."));
            }

            return(ActionOutput.SuccessData(_mapper.Map <LessonDetailedView>(lesson)));
        }
        public async Task <IOutput> Handle(AddLessonInput request, CancellationToken cancellationToken)
        {
            var reactSubject = await _context.Subjects.FirstOrDefaultAsync((x) => x.Name == "React.js");

            var lesson = new Entity.Lesson(
                request.Name,
                request.IsPractice,
                reactSubject,
                request.Index,
                request.Description,
                request.Content);

            _context.Lessons.Add(lesson);

            await _context.SaveChangesAsync(cancellationToken);

            return(ActionOutput.SuccessData(lesson.Id));
        }
 public abstract uint Insert(Entity.Lesson item);