示例#1
0
        public async Task <IActionResult> Edit(EditRecipeInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var updatedRecipe = this.recipesService.ReturnRecipe(input.RecipeId);

            await this.recipesService.EditRecipe(input.RecipeId, input.Title, input.CategoryId, input.Level, input.Products, input.Description);

            if (input.RecipeImages != null)
            {
                await this.recipesService.DeleteAllCurrentImagesOfRecipe(input.RecipeId);

                foreach (var image in input.RecipeImages)
                {
                    var newImage = await this.recipesService.CreateImage(input.RecipeId, image);

                    updatedRecipe.RecipeImages.Add(newImage);
                }
            }

            return(this.RedirectToAction(nameof(this.ById), new { recipeId = input.RecipeId }));
        }
示例#2
0
        public async Task UpdateAsync(int id, EditRecipeInputModel input)
        {
            var recipe = this.recipesRepository.All().FirstOrDefault(x => x.Id == id);

            recipe.Name            = input.Name;
            recipe.Instructions    = input.Instructions;
            recipe.CookingTime     = TimeSpan.FromMinutes(input.CookingTime);
            recipe.PreparationTime = TimeSpan.FromMinutes(input.PreparationTime);
            recipe.CategoryId      = input.CategoryId;
            await this.recipesRepository.SaveChangesAsync();
        }
        public async Task <IActionResult> Edit(int id, EditRecipeInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                input.CategoriesItems = this.categoriesService.GetAllAsKeyValuePairs();
                return(this.View(input));
            }

            await this.recipeService.UpdateAsync(id, input);

            return(this.RedirectToAction(nameof(this.ById), new { id }));
        }
示例#4
0
        public async Task <IActionResult> Edit(int id, EditRecipeInputModel input)
        {
            var userId       = this.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var recipeUserId = this.recipersService.GetById <EditRecipeInputModel>(id).AddedByUserId;

            if (!this.ModelState.IsValid)
            {
                input.Id = id;
                input.CategoriesItems = this.categoriesService.GetAll();
                return(this.View(input));
            }

            if (userId == recipeUserId)
            {
                await this.recipersService.UpdateAsync(id, input);

                return(this.RedirectToAction(nameof(this.ById), new { id }));
            }

            return(this.Unauthorized("Трябва да си създател на рецептата за да я редактираш!"));
        }
示例#5
0
        public IActionResult Edit(string recipeId)
        {
            var categoriesDropDown = this.categoriesService.GetAll();

            var orderDropDown = this.categoriesService.OrderDropDown(categoriesDropDown, "Starters", "Dressings", "Soups", "Salads", "Main Courses", "Pizza", "Pasta", "Pastry", "Desserts", "Cocktails");

            var searchedRecipe = this.recipesService.ReturnRecipe(recipeId);

            var recipeViewModel = new EditRecipeInputModel
            {
                RecipeId    = searchedRecipe.Id,
                Title       = searchedRecipe.Title,
                CategoryId  = searchedRecipe.CategoryId,
                Categories  = orderDropDown,
                Level       = searchedRecipe.Level,
                Products    = new HtmlSanitizer().Sanitize(searchedRecipe.Products),
                Description = new HtmlSanitizer().Sanitize(searchedRecipe.Description),
                ImageUrls   = this.recipesService.ReturnImageUrls(searchedRecipe.Id),
            };

            return(this.View(recipeViewModel));
        }
示例#6
0
 public Task UpdateRecepieAsync(int id, EditRecipeInputModel input)
 {
     throw new System.NotImplementedException();
 }