public async Task <List <Recipe> > Search(RecipeSearchQuery query) { return(await this._dataService.FindBy( recipe => { bool isMatch = true; if (query.OwnerName != null) { isMatch = recipe.CreatedBy.Username.ToLower().Contains(query.OwnerName.ToLower()); } if (query.Global != null) { string q = query.Global.ToLower(); bool globalMatch = recipe.Title.ToLower().Contains(q) || recipe.Content.ToLower().Contains(q) || recipe.Ingredients.Any( ingredient => ingredient.Name.ToLower().Contains(q)); isMatch = isMatch && globalMatch; } return isMatch; }, new Expression <Func <Recipe, object> >[] { recipe => recipe.CreatedBy, recipe => recipe.Ingredients } )); }
public IList <RecipeViewModel> Recipes(RecipeSearchQuery query) { List <RecipeViewModel> recipes = new List <RecipeViewModel>(); var client = new HttpClientServiceBase <List <RecipeViewModel> >(); string path = string.Format("api/recipesearch/getbyfilter?keyword={0}&category={1}", query.Keyword, query.Category); return(client.Get(path)); //recipes.Add(new RecipeViewModel { Id = Guid.NewGuid(), RecipeTypeName = "Peixes e Frutos do Mar", Title = "Filé de Peixe Assado", RecipeImage = "https://dummyimage.com/500x350/000/fff&text=Peixe" }); //recipes.Add(new RecipeViewModel { Id = Guid.NewGuid(), RecipeTypeName = "Peixes e Frutos do Mar", Title = "Paella Valenciana", RecipeImage = "https://dummyimage.com/500x350/000/fff&text=Paella" }); //recipes.Add(new RecipeViewModel { Id = Guid.NewGuid(), RecipeTypeName = "Peixes e Frutos do Mar", Title = "Cação ao Molho Vermelho", RecipeImage = "https://dummyimage.com/500x350/000/fff&text=Cação" }); //recipes.Add(new RecipeViewModel { Id = Guid.NewGuid(), RecipeTypeName = "Carnes", Title = "BIFE A MILANESA", RecipeImage = "https://dummyimage.com/500x350/000/fff&text=Bife" }); //recipes.Add(new RecipeViewModel { Id = Guid.NewGuid(), RecipeTypeName = "Carnes", Title = "VACA ATOLADA", RecipeImage = "https://dummyimage.com/500x350/000/fff&text=Vaca" }); //recipes.Add(new RecipeViewModel { Id = Guid.NewGuid(), RecipeTypeName = "Carnes", Title = "BIFE A ROLÊ", RecipeImage = "https://dummyimage.com/500x350/000/fff&text=BifeARolê" }); //if (query.Keyword != null) //{ // recipes = recipes // .Where(x => // x.Title.Contains(query.Keyword) || // x.RecipeTypeName.Contains(query.Keyword)).ToList(); //} //return recipes; }
public RecipeListViewModel() { _recipeService = new RecipeService(); Query = new RecipeSearchQuery(); Recipes = new ObservableCollection <RecipeViewModel>(); BindRecipes(); }