public IActionResult GetById(long id)
        {
            try
            {
                var query = new GetTodoItemsById(id);
                query.Validate();

                if (query.Invalid)
                {
                    return(BadRequest(query));
                }

                var result = _todoItemQueryHandler.Handle(query);

                var todoItemDto = new TodoItemDto();
                todoItemDto.InjectFrom(result);

                return(Ok(todoItemDto));
            }
            catch (NotFoundException ex)
            {
                return(NotFound(ex.Message));
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
Exemplo n.º 2
0
        public TodoItem Handle(GetTodoItemsById query)
        {
            var todoItem = _todoItemService.Read(x => x.Id == query.Id).FirstOrDefault();

            if (todoItem == null)
            {
                throw new NotFoundException("Objeto não encontrado.", null);
            }

            return(todoItem);
        }