public async Task <RecipeResults> SearchRecipesByNameAsync(int number, int offset, string query) { RecipeResults results = await Request <RecipeResults>("recipes/search?number=" + number + "&offset=" + offset + "&query=" + query + "&apiKey=" + Key); results.Recipes = await Request <List <Recipe> >("recipes/informationBulk?ids=" + results.Ids + "&apiKey=" + Key); return(results); }
public async Task <RecipeResults> GetRecipesAsync(int number, int offset) { RecipeResults results = await Request <RecipeResults>("recipes/search?number=" + number + "&offset=" + offset + "&apiKey=" + Key); results.Recipes = await Request <List <Recipe> >("recipes/informationBulk?ids=" + results.Ids + "&apiKey=" + Key); return(results); }
public async Task Searchbar_Search(string query) { if (SearchQuery == null) { PageNumber = 1; } SearchQuery = query; if (IsBusy) { return; } IsBusy = true; try { Items.Clear(); if (PageNumber == 1) { List <Recipe> UserRecipes = await App.Database.GetAllRecipesAsync(); foreach (var item in UserRecipes) { if (item.Title.ToUpper().Contains(SearchQuery.ToUpper())) { Items.Add(item); } } } RecipeResults recipeResults = await RecipeController.SearchRecipesByNameAsync(PageSize, GetOffset(), SearchQuery); foreach (var item in recipeResults.Recipes) { Items.Add(item); } double totalPagesTemp = recipeResults.TotalResults / PageSize; TotalPages = Math.Ceiling(totalPagesTemp); UpdatePageNumberLabel(); } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
async Task ExecuteLoadItemsCommand() { if (IsBusy) { return; } IsBusy = true; try { Items.Clear(); if (PageNumber == 1) { List <Recipe> UserRecipes = await App.Database.GetAllRecipesAsync(); foreach (var item in UserRecipes) { Items.Add(item); } } RecipeResults recipeResults = await RecipeController.GetRecipesAsync(PageSize, GetOffset()); foreach (var item in recipeResults.Recipes) { Items.Add(item); } double totalPagesTemp = recipeResults.TotalResults / PageSize; TotalPages = Math.Ceiling(totalPagesTemp); UpdatePageNumberLabel(); } catch (Exception ex) { Debug.WriteLine(ex); } finally { SearchQuery = null; IsBusy = false; } }