public async Task <IActionResult> OnPostAsync() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } RequirePassword = await _userManager.HasPasswordAsync(user); if (RequirePassword) { if (!await _userManager.CheckPasswordAsync(user, Input.Password)) { ModelState.AddModelError(string.Empty, "Password not correct."); return(Page()); } } var services = await _externalServiceManager.GetExternalServicesData(new ExternalServicesDataQuery() { UserId = user.Id }); var recipes = await _recipeManager.GetRecipes(new RecipesQuery() { UserId = user.Id }); foreach (var recipe in recipes) { await _recipeManager.RemoveRecipe(recipe.Id); } foreach (var externalServiceData in services) { await _externalServiceManager.RemoveExternalServiceData(externalServiceData.Id); } var result = await _userManager.DeleteAsync(user); var userId = await _userManager.GetUserIdAsync(user); if (!result.Succeeded) { throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'."); } await _signInManager.SignOutAsync(); _logger.LogInformation("User with ID '{UserId}' deleted themselves.", userId); return(Redirect("~/")); }
public async Task <IActionResult> RemoveRecipePost(string id) { var recipe = await _recipeManager.GetRecipe(id, _userManager.GetUserId(User)); if (recipe == null) { return(GetNotFoundActionResult()); } await _recipeManager.RemoveRecipe(id); return(RedirectToAction("GetRecipes", new { statusMessage = new StatusMessageModel() { Message = $"Recipe {recipe.Name} deleted successfully", Severity = StatusMessageModel.StatusSeverity.Success }.ToString() })); }
private void DeleteRecipe_Click_1(object sender, RoutedEventArgs e) { if (dgCatalogUC.SelectedItems.Count == 0) { MessageBox.Show("Не виділено жодного рецепту", "Інформація", MessageBoxButton.OK, MessageBoxImage.Information); } else if (MessageBox.Show("Ви дійсно бажаєте видалити видалені рецепти?", "Підтвердження вибору", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { try { List <Recipe> recipes = new List <Recipe>(); foreach (CatalogModel x in dgCatalogUC.SelectedItems) { Recipe res = new Recipe { ID = x.ID, Name = x.Name, CategoryID = catalogViewModel.Categories.Where(c => c.Name == x.Category).Select(c => c.ID).First(), Ingredients = x.Ingredients, CookingText = x.CookingString, }; recipes.Add(res); } recipeManager.RemoveRecipe(recipes); dgCatalogUC.DataContext = catalogViewModel.Catalog.OrderBy(c => c.Name); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }