コード例 #1
0
        public IEnumerable <TodoItem> Handle(GetAllTodoItemsQuery query)
        {
            IEnumerable <TodoItem> todoList;

            if (query.Skip != 0 && query.Top != 0)
            {
                todoList = _todoItemService.ReadAll().OrderBy(x => x.Description).Skip(query.Skip * query.Top)
                           .Take(query.Top);
            }
            else
            {
                todoList = _todoItemService.ReadAll().OrderBy(x => x.Description);
            }

            return(todoList);
        }
コード例 #2
0
        public IActionResult Get(int skip = 0, int top = 0)
        {
            var query = new GetAllTodoItemsQuery(skip, top);

            query.Validate();

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

            var result = _todoItemQueryHandler.Handle(query);

            var listDto = new List <TodoItemDto>();

            foreach (var item in result)
            {
                var todoItemDto = new TodoItemDto();
                todoItemDto.InjectFrom(item);
                listDto.Add(todoItemDto);
            }

            return(Ok(listDto.AsEnumerable()));
        }
コード例 #3
0
 public async Task <List <TodoItem> > Handle(GetAllTodoItemsQuery request, CancellationToken cancellationToken)
 {
     return(await _context.TodoItems.ToListAsync());
 }
コード例 #4
0
 public Task <IReadOnlyCollection <TodoItem> > ExecuteAsync(GetAllTodoItemsQuery command, IReadOnlyCollection <TodoItem> previousResult)
 {
     return(_repository.GetAll());
 }