public async Task <IActionResult> Register(Registermodal userdetail) { if (string.IsNullOrWhiteSpace(userdetail.Email) || string.IsNullOrWhiteSpace(userdetail.FirstName) || string.IsNullOrWhiteSpace(userdetail.password) || string.IsNullOrWhiteSpace(userdetail.lastName)) { return(BadRequest("some entries are nulll")); } if (userdetail.password != userdetail.confirmPassword) { return(BadRequest("password and conformpassword does not match")); } if (string.IsNullOrWhiteSpace(userdetail.role)) { return(BadRequest("please select role")); } if (!await _roleManger.RoleExistsAsync(userdetail.role)) { await _roleManger.CreateAsync(new IdentityRole(userdetail.role)); } AppUser user = new AppUser { UserName = userdetail.Email.Split("@")[0], Email = userdetail.Email, firstName = userdetail.FirstName, LastName = userdetail.lastName, Role = userdetail.role }; AppUser foundUser = await _userManager.FindByEmailAsync(user.Email); if (foundUser != null) { return(BadRequest("The user already exist")); } IdentityResult result = await _userManager.CreateAsync(user, userdetail.password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, userdetail.role); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackurl = Url.Action("ConfirmEmail", "Account", new { userid = user.Id, token = code }); Log.Information($"https://localhost:5001{callbackurl}"); Emailservices.send(user.Email, "Confirmation Email", $"Click <a href='https://localhost:5001{callbackurl}'>here</a> to verify your email"); return(Ok("Registerd succesfully please confirm the email")); } else { return(BadRequest("Error occured while creating user")); } }
public async Task <IActionResult> Forgotpassword(Forgotpasswordmodal userdata) { var user = await _userManager.FindByEmailAsync(userdata.Email); if (user == null) { return(BadRequest("The dosen't Exist")); } else { if (await _userManager.IsEmailConfirmedAsync(user)) { var token = await _userManager.GeneratePasswordResetTokenAsync(user); Emailservices.send(user.Email, "RestPassword Email", $"Click <a href='https://localhost:5001/RestPassword/?token={token}'>here</a> to Rest your password"); return(Ok("Please Check your Email To restPassword")); } else { return(BadRequest("Please confirm the user")); } } }