Exemplo n.º 1
0
        public async Task <TeacherResponseModel> PostTeacher(
            [FromForm] TeacherRequestModel model,
            CancellationToken cancellationToken
            )
        {
            cancellationToken.ThrowIfCancellationRequested();

            var command = new CreateTeacherCommand(
                model.FirstName,
                model.LastName,
                model.MiddleName,
                model.Email,
                model.Avatar,
                model.FacultyId
                );

            var teacherId = await _mediator.Send(command, cancellationToken);

            var query = new FindTeacherByIdQuery(teacherId);

            var teacher = await _mediator.Send(query, cancellationToken);

            var response = _mapper.Map <TeacherResponseModel>(teacher);

            return(response);
        }
Exemplo n.º 2
0
        public async Task <TeacherResponseModel> GetTeacher(int teacherId, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var query = new FindTeacherByIdQuery(teacherId);

            var teacher = await _mediator.Send(query, cancellationToken);

            if (teacher == null)
            {
                throw new NotFoundException(nameof(teacher), teacherId);
            }

            var response = _mapper.Map <TeacherResponseModel>(teacher);

            return(response);
        }