public async Task <IActionResult> OnGetAsync() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } var userName = await _userManager.GetUserNameAsync(user); var email = await _userManager.GetEmailAsync(user); Vereniging vereniging = _verenigingRepository.GetByMail(email); Username = userName; Input = new InputModel { Email = email, EmailZeden = vereniging.EmailZeden, IBAN = vereniging.IBAN }; return(Page()); }
public async Task <IActionResult> Create(VerenigingEditViewModel evm) { if (ModelState.IsValid) { try { evm.IBAN = NormalizeIBAN(evm.IBAN); Vereniging vereniging = new Vereniging(evm.Email, evm.Naam, evm.EmailZeden, evm.IBAN); //create identity user aka account om in te loggen, standaard wachten P@ssword1 var user = new IdentityUser { UserName = evm.Email, Email = evm.Email }; Random random = new Random(); int passNumber = random.Next(100); string password; if (vereniging.NormalizedGroepNaam.Length > 8) { password = $"{vereniging.NormalizedGroepNaam.Substring(0,8)}@ww{passNumber}!"; } else { password = $"{vereniging.NormalizedGroepNaam}@ww{passNumber}!"; } await _userManager.CreateAsync(user, password); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "vereniging")); await MapVerenigingEditViewModelToVereniging(evm, vereniging); _verenigingRepository.Add(vereniging); _verenigingRepository.SaveChanges(); //send mail to vereniging about new account if (evm.SendMail) { SendMailVerenigingUpdate(vereniging, password, true); } int verenigingId = _verenigingRepository.GetByMail(evm.Email).GroepId; TempData["message"] = $"U heeft succesvol de vereniging {vereniging.GroepNaam} aangemaakt"; return(RedirectToAction(nameof(Details), new { id = verenigingId })); } catch (Exception e) { TempData["error"] = $"Sorry, er liep iets fout, de vereniging kon niet worden aangemaakt: {e.Message}"; } } ViewData["IsEdit"] = false; ViewData["Konventen"] = GetKonventenAsSelectList(); return(View(nameof(Edit), evm)); }
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)}'.")); } _logger.LogInformation("User with ID '{UserId}' asked for their personal data.", _userManager.GetUserId(User)); // Only include personal data for download var personalData = new Dictionary <string, string>(); var personalDataProps = typeof(IdentityUser).GetProperties().Where( prop => Attribute.IsDefined(prop, typeof(PersonalDataAttribute))); foreach (var p in personalDataProps) { personalData.Add(p.Name, p.GetValue(user)?.ToString() ?? "null"); } Vereniging vereniging = _verenigingRepository.GetByMail(user.Email); personalData.Add("EmailZeden", vereniging.EmailZeden); personalData.Add("IBAN", vereniging.IBAN); Response.Headers.Add("Content-Disposition", "attachment; filename=PersonalData.json"); return(new FileContentResult(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(personalData)), "text/json")); }
public override void OnActionExecuting(ActionExecutingContext context) { var user = context.HttpContext.User; var adminTestMail = context.HttpContext.Session.GetString("AdminUserTestMail"); if (context.HttpContext.User.Identity.IsAuthenticated && user.IsInRole("admin")) { if (adminTestMail != null && _verenigingRepository.GetByMail(adminTestMail) != null) { context.ActionArguments["vereniging"] = _verenigingRepository.GetByMail(adminTestMail); } else { context.ActionArguments["vereniging"] = _verenigingRepository.GetByMail("*****@*****.**"); } } else { context.ActionArguments["vereniging"] = context.HttpContext.User.Identity.IsAuthenticated ? _verenigingRepository.GetByMail(context.HttpContext.User.Identity.Name) : null; } base.OnActionExecuting(context); }