public async Task <ActionResult> PublicRecipeDetails(int id) { Recipe recipe = await repository.GetAsync(id); if (recipe == null) { return(HttpNotFound()); } return(View(recipe)); }
public async Task <Recipe> GetByIdAsync(Guid id) { var recipe = await RecipeRepository.GetAsync(id); var ingredientTask = PopulateIngredients(recipe); var stepTask = PopulateSteps(recipe); await Task.WhenAll(ingredientTask, stepTask); return(recipe); }
public async Task <IActionResult> Delete(string hashtag, string name) { var recipeGuid = await this.GetRecipeGuid(name); var repository = new RecipeRepository(_settings.AzureStorageConnectionString); var item = await repository.GetAsync(recipeGuid); await repository.DeleteAsync(item); var viewModel = new HashtagLineViewModel(hashtag); return(Redirect(UrlBuilder.GetUrl(hashtag))); }
public async Task <IActionResult> Edit(string hashtag, string name) { Guid recipeGuid = await this.GetRecipeGuid(name); var repository = new RecipeRepository(_settings.AzureStorageConnectionString); var item = await repository.GetAsync(recipeGuid); item.ProcessRecipe(); var viewModel = new RecipeEditViewModel(hashtag, item); return(View(viewModel)); }
public async Task <IActionResult> Edit(RecipeEditViewModel viewModel) { Recipe item; var repository = new RecipeRepository(_settings.AzureStorageConnectionString); if (viewModel.IsNew()) { item = new Recipe(); } else { item = await repository.GetAsync(viewModel.Guid); } viewModel.FillModel(item); await repository.SaveAsync(item); return(RedirectToAction("Details", "Recipes", new { hashtag = viewModel.Hashtag, name = item.Name })); }
// GET: Recipes public async Task <IActionResult> Index() { return(View(await _repository.GetAsync())); }