public async Task <IActionResult> Index() { var user = await _userManager.GetUserAsync(User); var secret = _voucherService.GenerateVoucherCode(15); // Store value so we can later verify it if (_context.StripeSecret.Any(x => x.Email.Equals(user.Email))) { _context.StripeSecret.Update(new StripeSecret { Secret = secret, Email = user.Email }); } else { _context.StripeSecret.Add(new StripeSecret { Secret = secret, Email = user.Email }); } await _context.SaveChangesAsync(); var model = new HomeViewModel { Email = user.Email.ToLower(), AccountComplete = !string.IsNullOrWhiteSpace(user.CompanyName), StripeComplete = !string.IsNullOrWhiteSpace(user.StripeAccountId) }; if (!string.IsNullOrWhiteSpace(user.CompanyName)) { model.StripeUrl = GenerateStripeUrl(user, secret); } return(View(model)); }