示例#1
0
        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
            }
                       ));
        }
示例#2
0
        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;
        }
示例#3
0
        public RecipeListViewModel()
        {
            _recipeService = new RecipeService();
            Query          = new RecipeSearchQuery();
            Recipes        = new ObservableCollection <RecipeViewModel>();

            BindRecipes();
        }