public ActionResult ConfirmRegistration() { RegisterViewModel regModel = (RegisterViewModel)TempData["regmodel"]; ConfirmRegisterViewModel model = new ConfirmRegisterViewModel { RegistrationDetails = regModel, ConfirmOtp = Session["otp"].ToString() }; //if u want to otp then comment follws line return(View(model)); }
public async Task <ActionResult> ConfirmRegistration(ConfirmRegisterViewModel model, string returnUrl) { if (ModelState.IsValid) { if (model.ConfirmOtp != Session["otp"].ToString()) { ViewBag.confirmFail = "Invalid OTP!!"; return(View(model)); } var user = new ApplicationUser { UserName = model.RegistrationDetails.Email, Email = model.RegistrationDetails.Email, LastName = model.RegistrationDetails.LastName, FirstName = model.RegistrationDetails.FirstName, LastIpAddress = "192.168.225.1", IsEmailUnsubscribed = false, IsPhoneNumberUnsubscribed = true, LastLoginDateUtc = DateTime.UtcNow, CreatedOnUtc = DateTime.UtcNow, PhoneNumber = model.RegistrationDetails.PhoneNumber, TwoFactorEnabled = true }; var result = await UserManager.CreateAsync(user, model.RegistrationDetails.Password); if (result.Succeeded) { if (model.RegistrationDetails.UserType == "professional") { await this.UserManager.AddToRoleAsync(user.Id, model.RegistrationDetails.Role); var doctor = new Doctor { DoctorId = user.Id, RegistrationNumber = model.RegistrationNumber }; _doctorService.AddDoctor(doctor); } await SignInManager.SignInAsync(user, false, false); return(RedirectToAction("Index", "Home")); } ViewBag.ReturnUrl = returnUrl; AddErrors(result); } return(View(model)); }
public async Task <ActionResult> ConfirmRegistration(ConfirmRegisterViewModel model, string returnUrl) { try { if (ModelState.IsValid) { if (model.ConfirmOtp != Session["otp"].ToString()) { ErrorNotification("Invalid OTP !! Enter correct otp."); // ViewBag.confirmFail = "Invalid OTP!!"; return(View(model)); } var user = new ApplicationUser { UserName = model.RegistrationDetails.PhoneNumber, Email = model.RegistrationDetails.Email, LastName = model.RegistrationDetails.LastName, FirstName = model.RegistrationDetails.FirstName, LastIpAddress = "192.168.225.1", IsEmailUnsubscribed = false, IsPhoneNumberUnsubscribed = true, LastLoginDateUtc = DateTime.UtcNow, CreatedOnUtc = DateTime.UtcNow, PhoneNumber = model.RegistrationDetails.PhoneNumber, TwoFactorEnabled = true }; var result = await UserManager.CreateAsync(user, model.RegistrationDetails.Password); if (result.Succeeded) { if (model.RegistrationDetails.UserType.ToLowerInvariant() == "professional") { await this.UserManager.AddToRoleAsync(user.Id, model.RegistrationDetails.Role); var doctor = new Doctor { DoctorId = user.Id, RegistrationNumber = model.RegistrationNumber }; _doctorService.AddDoctor(doctor); } //gives content to sending thanks email await UserManager.SendEmailAsync(user.Id, "Thank you for registering at Doctor 365", "Thank you!!"); await SignInManager.SignInAsync(user, false, false); return(RedirectToAction("Index", "Home")); } string errorNotify = string.Empty; foreach (var item in result.Errors) { errorNotify += item + " ,"; } if (!string.IsNullOrWhiteSpace(errorNotify)) { ErrorNotification(errorNotify.TrimEnd(',')); } ViewBag.ReturnUrl = returnUrl; AddErrors(result); } } catch { } return(View(model)); }