public async Task <ActionResult> AddPhoneNumber(RegisterPhoneNumberViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var code = await UserManager.GenerateChangePhoneNumberTokenAsync(model.Id, model.Number); if (UserManager.SmsService != null) { var message = new IdentityMessage { Destination = model.Number, Body = "Välkommen till Socialstyrelsens Inrapporteringsportal. För att registrera dig ange följande verifieringskod på webbsidan: " + code }; await UserManager.SmsService.SendAsync(message); } return(RedirectToAction("VerifyPhoneNumber", new { PhoneNumber = model.Number, Id = model.Id })); } catch (Exception e) { Console.WriteLine(e); ErrorManager.WriteToErrorLog("AccountController", "Register", e.ToString(), e.HResult, model.Id); var errorModel = new CustomErrorPageModel { Information = "Ett fel inträffade vid registreringen.", ContactEmail = ConfigurationManager.AppSettings["ContactEmail"], }; return(View("CustomError", errorModel)); } }
public ActionResult AddPhoneNumber(string id = "") { var model = new RegisterPhoneNumberViewModel(); model.Id = id; return(View(model)); }
public async Task <ActionResult> ConfirmEmail(string userId, string code) { if (userId == null || code == null) { return(View("Error")); } var result = await UserManager.ConfirmEmailAsync(userId, code); if (result.Succeeded) { var user = UserManager.FindById(userId); var model = new RegisterPhoneNumberViewModel(); model.Id = userId; return(View("ConfirmEmail", model)); } else { var str = String.Empty; foreach (var error in result.Errors) { str = str + error + ", "; } Console.WriteLine(str); ErrorManager.WriteToErrorLog("AccountController", "ConfirmEmail", str, 0, userId); var errorModel = new CustomErrorPageModel { Information = "Ett fel inträffade vid verifieringen av epostadressen.", ContactEmail = ConfigurationManager.AppSettings["ContactEmail"], }; return(View("CustomError", errorModel)); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } try { //Kolla om öppet, annars visa stängt-sida if (!_portalService.IsOpen()) { ViewBag.Text = _portalService.HamtaInformationsText("Stangtsida"); return(View("Closed")); } //Add this to check if the email was confirmed. var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { ModelState.AddModelError("", "Felaktigt användarnamn eller pinkod."); return(View(model)); } //Check if users organisation or user has been disabled var userOrg = _portalService.HamtaOrgForAnvandare(user.Id); if (userOrg.AktivTom <= DateTime.Now) { ModelState.AddModelError("", "Organisationen " + userOrg.Organisationsnamn + " är inaktiv, ta kontakt med " + ConfigurationManager.AppSettings["MailSender"]); return(View(model)); } else if (user.AktivTom <= DateTime.Now) { model.DisabledAccount = true; ModelState.AddModelError("", "Kontot är inaktiverat. För att återaktivera ditt konto behöver du verifiera din e-postadress."); return(View(model)); } if (!await UserManager.IsEmailConfirmedAsync(user.Id)) { ModelState.AddModelError("", "Du behöver bekräfta din epostadress. Se mejl från [email protected]"); return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: //var user = UserManager.FindByEmail(model.Email); _portalService.SaveToLoginLog(user.Id, user.UserName); return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: if (!await UserManager.IsPhoneNumberConfirmedAsync(user.Id)) { var phoneNumber = UserManager.GetPhoneNumberAsync(user.Id); //Skicka användaren till AddPhoneNumber var phoneNumberModel = new RegisterPhoneNumberViewModel() { Id = user.Id, Number = phoneNumber.Result }; if (phoneNumberModel.Number == null) { return(View("AddPhoneNumber", phoneNumberModel)); } else { return(await this.AddPhoneNumber(phoneNumberModel)); } } else { return(RedirectToAction("SendCode", new SendCodeViewModel { Providers = null, ReturnUrl = returnUrl, RememberMe = model.RememberMe, SelectedProvider = "Phone Code", UserEmail = model.Email })); } case SignInStatus.Failure: default: ModelState.AddModelError("", "Felaktigt användarnamn eller pinkod."); return(View(model)); } } catch (Exception e) { Console.WriteLine(e); ErrorManager.WriteToErrorLog("AccountController", "Login", e.ToString(), e.HResult, model.Email); var errorModel = new CustomErrorPageModel { Information = "Ett fel inträffade vid inloggningen", ContactEmail = ConfigurationManager.AppSettings["ContactEmail"], }; return(View("CustomError", errorModel)); } }
public ActionResult AreYouSurePhoneNumber(RegisterPhoneNumberViewModel model) { return(View("AreYouSurePhoneNumber", model)); }