public async Task <IActionResult> Edit(VerenigingEditViewModel evm, string command, int id) { if (ModelState.IsValid) { try { Vereniging vereniging = _verenigingRepository.GetById(id); if (vereniging == null) { return(NotFound()); } if (command.Equals("addKleur")) { await MapVerenigingEditViewModelToVereniging(evm, vereniging); vereniging.Kleuren.Add(new Kleur("Wit", "#ffffff")); _verenigingRepository.SaveChanges(); return(RedirectToAction(nameof(Edit), id)); } else if (command.Equals("removeKleur")) { await MapVerenigingEditViewModelToVereniging(evm, vereniging); vereniging.Kleuren.RemoveAt(vereniging.Kleuren.Count - 1); _verenigingRepository.SaveChanges(); return(RedirectToAction(nameof(Edit), id)); } else //when no command is given, process as normal edit { await MapVerenigingEditViewModelToVereniging(evm, vereniging); _verenigingRepository.SaveChanges(); if (evm.SendMail) { SendMailVerenigingUpdate(vereniging); } TempData["message"] = $"U heeft succesvol vereniging {vereniging.GroepNaam} gewijzigd"; } } catch (Exception e) { TempData["error"] = $"Sorry, er liep iets fout, de vereniging kon niet worden aangepast: {e.Message}"; } return(RedirectToAction(nameof(Index))); } ViewData["IsEdit"] = true; ViewData["Konventen"] = GetKonventenAsSelectList(); return(View(nameof(Edit), evm)); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } if (!CheckValidIBAN(Input.IBAN)) { ModelState.AddModelError("IBAN", "Ongeldig rekeningnummer"); return(Page()); } var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } var email = await _userManager.GetEmailAsync(user); Vereniging vereniging = _verenigingRepository.GetByMail(email); if (Input.Email != email) { if (vereniging == null) { StatusMessage = "Kon emailadres niet wijzigen, dit is geen vereniging..."; return(RedirectToPage()); } var setEmailResult = await _userManager.SetEmailAsync(user, Input.Email); if (!setEmailResult.Succeeded) { var userId = await _userManager.GetUserIdAsync(user); throw new InvalidOperationException($"Unexpected error occurred setting email for user with ID '{userId}'."); } await _userManager.SetUserNameAsync(user, Input.Email); vereniging.Email = Input.Email; } vereniging.EmailZeden = Input.EmailZeden; vereniging.IBAN = Input.IBAN; _verenigingRepository.SaveChanges(); await _signInManager.RefreshSignInAsync(user); StatusMessage = "Your profile has been updated"; return(RedirectToPage()); }