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); }
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); }