public async Task <IActionResult> Register([FromBody] RegistrationModel model) { //register functionality var user = new ApplicationUser { Email = model.Email, UserName = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //Give basic role to the user await _userManager.AddToRoleAsync(user, "Basic"); //generation of the email token var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var link = Url.Action(nameof(VerifyEmail), "ApplicationUser", new { userId = user.Id, code }, Request.Scheme, Request.Host.ToString()); // var link = $"{_appSettings.Host_Url}applicationuser/email-verification/userId={user.Id}/code={code}"; _emailService.SendEmailVerification(link, model.Email); return(Ok(new { msg = "Verfication email has been sent" })); } return(BadRequest(new { error = "Please try again later" })); }