Ejemplo n.º 1
0
        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));
        }