public Task <IEnumerable <TodoItem> > TodoItemsQueryAsync(TodoItemsSearchArgs searchArgs) { var _ = searchArgs != null ? "" : throw new ArgumentNullException(); var items = m_dataRepo.TodoItems.FindAll(i => (searchArgs.CategoryId == null || i.CategorySet.Any(c => searchArgs.CategoryId == c.TodoItemCategoryId)) && (searchArgs.IsInUserFavorites == null || i.IsUserFavorite == searchArgs.IsInUserFavorites) && (searchArgs.StringFieldsContains == null || i.Title.Contains(searchArgs.StringFieldsContains) || i.Description.Contains(searchArgs.StringFieldsContains)) ); return(Task.FromResult((IEnumerable <TodoItem>)items)); }
public async Task <IEnumerable <TodoItem> > TodoItemsQueryAsync(TodoItemsSearchArgs searchArgs) { var _ = searchArgs != null ? "" : throw new ArgumentNullException(); var results = await m_dbContext.TodoItems.Where(i => (searchArgs.IsInUserFavorites == null || i.IsUserFavorite == searchArgs.IsInUserFavorites) && (searchArgs.StringFieldsContains == null || i.Title.Contains(searchArgs.StringFieldsContains) || i.Description.Contains(searchArgs.StringFieldsContains)) ).ToListAsync(); if (searchArgs.CategoryId != null) { results = results.Where(i => i.CategorySet.Any(c => c.TodoItemCategoryId == searchArgs.CategoryId)).ToList(); } return(results); }