public ActionResult ChangeSecurityQuestion([Bind(Include = "SecurityAnswer,SecurityQuestion")] SecurityQuestionViewModel suvm) { string emailAddress = Session["Username"].ToString(); var chkUser = (from l in db.Users where l.UserEmail == emailAddress select l).FirstOrDefault(); if (chkUser != null) { try { var decriptPwd = PwdHashing.Encrypt(suvm.SecurityAnswer); chkUser.SecurityAnswer = decriptPwd; chkUser.SecurityQuestionID = suvm.SecurityQuestion.Value; db.SaveChanges(); ViewBag.DisplayMessage = "success"; ModelState.AddModelError("", "Your security answer reset was successful!"); LoadDropDownList(); } catch (Exception) { ViewBag.DisplayMessage = "Info"; ModelState.AddModelError("", "Security answer was not successful, please contact the admin!"); LoadDropDownList(); } } return(View()); }
public async Task <IActionResult> Verification(SecurityQuestionViewModel model) { if (ModelState.IsValid) { AccountUser accountUser = await userManager.FindByEmailAsync(model.Email); if (accountUser != null) { if (accountUser.SecurityQuestion == model.QuestionId && accountUser.Answer.ToLower() == model.Answer.ToLower()) { TempData["UserId"] = accountUser.Id; TempData["Email"] = accountUser.Email; string token = await userManager.GeneratePasswordResetTokenAsync(accountUser); TempData["Token"] = token; return(RedirectToAction("ResetPassword", "Account")); } else { ModelState.AddModelError(string.Empty, "Email Address or Security Question is wrong"); } } else { ModelState.AddModelError(string.Empty, "Email Address or Security Question is wrong"); } } model.SecurityQuestionsList = new SecurityQuestions().GetSecurityQuestion(); return(View(model)); }
public async Task <IActionResult> UpdateSQ(EditProfile obj) { SecurityQuestionViewModel model = obj.SQVM; if (ModelState.IsValid) { AccountUser user = new AccountUser(); //IF user is correct and inputs are correct proceed to update if (User.Identity.IsAuthenticated) { user = await userManager.GetUserAsync(User); if (user != null) { user.SecurityQuestion = model.QuestionId; user.Answer = model.Answer; var res = await userManager.UpdateAsync(user); if (res.Succeeded) { toastNotification.AddSuccessToastMessage("Security Question Update Successfully."); } //GIVE an error if something is wrong else { toastNotification.AddSuccessToastMessage("Some issue to updating Security Question."); ModelState.AddModelError(String.Empty, "Error"); } } } } return(RedirectToAction("EditProfile")); }
public async Task <IActionResult> SecurityQuestionsAsync(SecurityQuestionViewModel model) { if (ModelState.IsValid) { // get the current user var user = await _UserManager.FindByNameAsync(User.Identity.Name); user.SecurityQuestionOne = model.SecurityQuestionOne; user.SecurityQuestionTwo = model.SecurityQuestionTwo; user.SecurityAnswerOne = model.SecurityAnswerOne; user.SecurityAnswerTwo = model.SecurityAnswerTwo; // update the database var result = await _UserManager.UpdateAsync(user); if (result.Succeeded) { // TODO: show that the security questions were saved then redirect return(RedirectToAction(nameof(Profile))); } foreach (IdentityError error in result.Errors) { // these errors can be displayed in the web page by adding: /* <div class="text-danger"> * @Html.ValidationSummary() * </div> */ ModelState.AddModelError(string.Empty, error.Description); } } return(View("SecurityQuestions", model)); }
public SecurityQuestionPage(OnboardingViewModel ovm) { InitializeComponent(); BindingContext = _vm = new SecurityQuestionViewModel(Navigation); Answer = new List <QuestionAnswerModel>(); _ovm = ovm; }
public async Task <IActionResult> UpdateSQ(EditProfile obj) { SecurityQuestionViewModel model = obj.SQVM; if (ModelState.IsValid) { AccountUser user = new AccountUser(); user = await userManager.FindByIdAsync(model.UserId); if (user != null) { user.SecurityQuestion = model.QuestionId; user.Answer = model.Answer; var res = await userManager.UpdateAsync(user); if (res.Succeeded) { toastNotification.AddSuccessToastMessage("Security Question Update successfully"); } else { toastNotification.AddErrorToastMessage("Some issue to update Security Question "); TempData["Error"] = "Error"; } } } return(RedirectToAction("EditUser", new RouteValueDictionary( new { controller = "Admin", action = "EditUser", UserId = model.UserId }))); }
/// <summary> /// ASSIGN security question /// </summary> /// <returns>view</returns> public IActionResult Verification() { SecurityQuestionViewModel model = new SecurityQuestionViewModel(); model.SecurityQuestionsList = new SecurityQuestions().GetSecurityQuestion(); return(View(model)); }
public static SecurityQuestionModel ToSecurityQuestionModel(this SecurityQuestionViewModel securityQuestionViewModel) { return(new SecurityQuestionModel { Id = securityQuestionViewModel.Id, Question = securityQuestionViewModel.Question }); }
public async Task <IActionResult> SecurityQuestionsAsync() { var user = await _UserManager.FindByNameAsync(User.Identity.Name); var model = new SecurityQuestionViewModel { SecurityQuestionOne = user.SecurityQuestionOne, SecurityQuestionTwo = user.SecurityQuestionTwo, SecurityAnswerOne = user.SecurityAnswerOne, SecurityAnswerTwo = user.SecurityAnswerTwo }; return(View("SecurityQuestions", model)); }
/// <summary> /// To the view model. /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public static SecurityQuestionViewModel ToViewModel(this SecurityQuestionModel model) { if (model == null) { return(null); } var entity = new SecurityQuestionViewModel { SecurityQuestionID = model.SecurityQuestionID, Question = model.Question }; return(entity); }
/// <summary> /// To the model. /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public static SecurityQuestionModel ToModel(this SecurityQuestionViewModel entity) { if (entity == null) { return(null); } var model = new SecurityQuestionModel { SecurityQuestionID = entity.SecurityQuestionID, Question = entity.Question }; return(model); }
public async Task <ActionResult> VerifySecurityQuestion(SecurityQuestionViewModel model) { var user = await UserManager.FindByIdAsync(model.UserId); if (UserManager.VerifySecurityQuestion(user, model.SecurityAnswer)) { // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = await UserManager.GeneratePasswordResetTokenAsync(model.UserId); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = model.UserId, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(model.UserId, "Reset Password", "Please reset your password by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("ForgotPasswordConfirmation", "Account")); } ModelState.AddModelError(nameof(model.SecurityAnswer), "Answer is not correct!"); model.SecurityAnswer = ""; return(View(model)); }
public ActionResult Create(SecurityQuestionViewModel data) { SecurityQuestion obj = new SecurityQuestion(); if (ModelState.IsValid) { bool uniqueQuestion = _securityQuestionService.UniqueSecurityQuestion(data.question.TrimEnd()); //verify the entered security question is exisists or not if (uniqueQuestion == true) { //if security question is exists, the validation message will display on the view TempData["addUniqueMessage"] = "Record is Exist, Please Enter a new security question"; return(RedirectToAction("Create", "SecurityQuestion")); } //if security question is not exists, creates new security question obj.question = data.question.TrimEnd(); _securityQuestionService.InsertSecurityQuestion(obj); TempData["message"] = "Success ! You have created a new record"; return(RedirectToAction("Index", "SecurityQuestion")); } return(View()); }
public RegisterViewModel() { securityQuestions = new SecurityQuestionViewModel(); countryState = new CountryStateViewModel(); }