Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. internal class CreateTodoRequestHandler : ICommandHandler<CreateTodoRequest, DisplayTodo>
  2. {
  3. private readonly ITodoRepository _repository;
  4. private readonly IMapper<CreateTodoRequest, Domain.Models.Todo> _requestToModelMapper;
  5. private readonly IMapper<Domain.Models.Todo, DisplayTodo> _todoToDisplayTodoMapper;
  6. private readonly ILogger<CreateTodoRequestHandler> _logger;
  7.  
  8.  
  9. public CreateTodoRequestHandler(ITodoRepository repository, IMapper<CreateTodoRequest, Domain.Models.Todo> requestToModelMapper,
  10. IMapper<Domain.Models.Todo,DisplayTodo> todoToDisplayTodoMapper, ILogger<CreateTodoRequestHandler> logger)
  11. {
  12. _repository = repository;
  13. _requestToModelMapper = requestToModelMapper;
  14. _todoToDisplayTodoMapper = todoToDisplayTodoMapper;
  15. _logger = logger;
  16. }
  17.  
  18. public async Task<DisplayTodo> ExecuteAsync(CreateTodoRequest command, DisplayTodo previousResult)
  19. {
  20. _logger.LogInformation("Creating todo item");
  21.  
  22. var task = await _repository.CreateTodoAsync(_requestToModelMapper.Map(command));
  23.  
  24. var displayTodo = _todoToDisplayTodoMapper.Map(task);
  25.  
  26. return displayTodo;
  27. }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement