public async Task <IActionResult> Registration(RegistrationInputModel model, string button)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var id = Guid.NewGuid();

            var user = new IdentityUser
            {
                Id       = id.ToString(),
                UserName = model.Email,
                Email    = model.Email
            };

            var result = await userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                result = await userManager.AddClaimsAsync(user, new[]
                {
                    new Claim(JwtClaimTypes.Name, $"{model.FirstName} {model.LastName}"),
                    new Claim(JwtClaimTypes.GivenName, model.FirstName),
                    new Claim(JwtClaimTypes.FamilyName, model.LastName),
                    new Claim(JwtClaimTypes.Email, model.Email),
                    new Claim(JwtClaimTypes.EmailVerified, "false", ClaimValueTypes.Boolean)
                });

                if (result.Succeeded)
                {
                    await profilesApi.CreateAsync(new ProfileCreateViewModel(
                                                      id,
                                                      model.FirstName,
                                                      model.LastName));

                    await SendConfirmationEmailAsync(user);

                    return(View("PostRegistration"));
                }
            }

            foreach (var error in result.Errors)
            {
                ModelState.AddModelError("", error.Description);
            }

            return(View(model));
        }