Пример #1
0
        public async Task <IActionResult> OnPostDelete(int?recipeId)
        {
            if (!recipeId.HasValue)
            {
                HasError          = true;
                ViewData["Error"] = "Δεν μπορείτε να περάσετε κενό ID.";
                return(Page());
            }

            RecipeHeader dbRecipeHeader = await recipeRepository.GetRecipeHeader(recipeId.Value);

            if (dbRecipeHeader is null)
            {
                HasError          = true;
                ViewData["Error"] = "Δεν υπάρχει εγγραφή με το ID που δόθηκε.";
                return(Page());
            }

            IEnumerable <RecipeDetail> dbRecipeDetails = await recipeRepository.GetRecipeDetails(dbRecipeHeader.Id);

            foreach (RecipeDetail recipeDetail in dbRecipeDetails)
            {
                if (!await recipeRepository.DeleteRecipeDetail(recipeDetail))
                {
                    HasError          = true;
                    ViewData["Error"] = "Δεν μπορέσαμε να σβήσουμε την εγγραφή σας.";
                    return(Page());
                }
            }

            if (!await recipeRepository.DeleteRecipeHeader(dbRecipeHeader))
            {
                HasError          = true;
                ViewData["Error"] = "Δεν μπορέσαμε να σβήσουμε την εγγραφή σας.";
                return(Page());
            }

            TempData["SuccessMessage"] = "Η διαγραφή του στοιχείου έγινε με επιτυχία.";

            return(RedirectToPage(Url.Content("~/Admin/RecipeList")));
        }