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"))); }
public async Task <JsonResult> DeleteDetailItem([FromBody] int recipeDetailId) { var dbRecipeDetail = await recipeRepository.GetRecipeDetail(recipeDetailId); if (dbRecipeDetail is null) { HasError = true; ErrorMessage = "Το είδος που ζητήσατε να γίνει διαγραφή δεν υπάρχει στη λίστα."; return(new JsonResult(new { result = false, message = ErrorMessage })); } if (!await recipeRepository.DeleteRecipeDetail(dbRecipeDetail)) { HasError = true; ErrorMessage = "Κάτι πήγε στραβά και δεν μπορέσαμε να διαγράψουμε την εγγραφή σας."; return(new JsonResult(new { result = false, message = ErrorMessage })); } HasError = false; SuccessMessage = "Η διαγραφή του είδους έγινε με επιτυχία."; return(new JsonResult(new { result = true, message = SuccessMessage })); }