Example #1
0
        public async Task <ActionResult <IEnumerable <TodoReadDTO> > > GetFilteredTodos([FromQuery] TodoFilterDTO filter)
        {
            var request = new GetFilteredTodosQuery(User.Identity?.Name, filter ?? new TodoFilterDTO());
            var todos   = await _mediator.Send(request);

            return(todos.Any() ? Ok(todos) : NoContent());
        }
 public async Task <IActionResult> GetFiltered([FromBody] GetFilteredTodosQuery query)
 {
     if (query == null)
     {
     }
     return(Ok(await Mediator.Send(query)));
 }
Example #3
0
        public async Task <IEnumerable <TodoReadDTO> > Handle(GetFilteredTodosQuery request, CancellationToken cancellationToken)
        {
            var query = GetQuery(request.UserLogin, request.Filter);
            var todos = await query.ToListAsync(cancellationToken);

            if (!todos.Any())
            {
                return(Enumerable.Empty <TodoReadDTO>());
            }

            return(FilterTodos(todos, request.Filter)
                   .OrderBy(todo => todo.Order)
                   .Select(todo => todo.ToReadDTO()));
        }