public async Task <IActionResult> VerifyPhone(VerifyPhoneViewModel verifyPhone) { //var recaptcha = await _recaptcha.Validate(Request); //if (!recaptcha.success) //{ // ModelState.AddModelError("Recaptcha", "There was an error validating recatpcha. Please try again!"); // return View(!ModelState.IsValid ? verifyPhone : new VerifyPhoneViewModel()); //} if (ModelState.IsValid) { if (_repository.VerifyPhone(verifyPhone) == "success") { SetPasswordViewModel setPassword = new SetPasswordViewModel() { Phone = verifyPhone.Phone }; return(View("SetPassword", setPassword)); } else { ViewData["Message"] = "کد وارد شده صحیح نمی باشد"; } return(View()); } return(View()); }
public ActionResult VerifyPhone(GetVerifyPhoneRequest request) { var model = new VerifyPhoneViewModel( request.TokenId, request.CallbackUri, request.Code, request.IsInvalidCode); return(View("~/OAuth/Views/VerifyPhone.cshtml", model)); }
public async Task <IActionResult> Login(LoginViewModel login) { //var recaptcha = await _recaptcha.Validate(Request); //if (!recaptcha.success) //{ // ModelState.AddModelError("Recaptcha", "There was an error validating recatpcha. Please try again!"); // return View(!ModelState.IsValid ? login : new LoginViewModel()); //} var result = _repository.Login(login); switch (result.Message) { case "password": SetPasswordViewModel setPassword = new SetPasswordViewModel(); setPassword.Phone = login.Phone; return(View("SetPassword", setPassword)); case "confirm": VerifyPhoneViewModel verifyPhoneNumber = new VerifyPhoneViewModel(); verifyPhoneNumber.Phone = login.Phone; return(View("VerifyPhone", verifyPhoneNumber)); case "fail": ViewData["Message"] = "نام کاربری یا کلمه عبور اشتباه است"; return(View()); case "notexist": ViewData["Message"] = "نام کاربری یا کلمه عبور اشتباه است"; return(View()); default: var claims = new List <Claim> { new Claim(ClaimTypes.Name, result.Id.ToString()), new Claim(ClaimTypes.Role, result.Role), new Claim("fullname", result.FullName), new Claim("avatar", result.Avatar), new Claim("id", result.Id.ToString()) }; var userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); return(RedirectToAction("Profile", "Account")); } }
public IActionResult ResetPassword(string phoneNumber) { var result = _repository.ResetPassword(phoneNumber); if (result == "confirm") { VerifyPhoneViewModel verifyPhoneNumber = new VerifyPhoneViewModel(); verifyPhoneNumber.Phone = phoneNumber; return(View("VerifyPhone", verifyPhoneNumber)); } else { ViewData["Message"] = "شماره همراه وارد شده وجود ندارد"; return(View()); } }
public string VerifyPhone(VerifyPhoneViewModel verifyPhone) { var user = (from u in _dbContext.Users where u.PhoneNumber == verifyPhone.Phone select u).FirstOrDefault(); if (user != null && user.PhoneNumberVerifyCode == verifyPhone.VerifyCode) { user.PhoneNumberConfirmed = true; _dbContext.Update(user); _dbContext.SaveChangesAsync(); return("success"); } else { return("fail"); } }
public async Task <IActionResult> Register(RegisterViewModel register) { //var recaptcha = await _recaptcha.Validate(Request); //if (!recaptcha.success) //{ // ModelState.AddModelError("Recaptcha", "There was an error validating recatpcha. Please try again!"); // return View(!ModelState.IsValid ? register : new RegisterViewModel()); //} if (ModelState.IsValid) { if (register.ParticipantType == "Participant" || register.ParticipantType == "Supporter" || register.ParticipantType == "Expert") { VerifyPhoneViewModel verifyPhoneNumber = new VerifyPhoneViewModel(); var result = _repository.AddUser(register); if (result == "added" || result == "confirm") { verifyPhoneNumber.Phone = register.PhoneNumber; return(View("VerifyPhone", verifyPhoneNumber)); } else if (result == "password") { SetPasswordViewModel setPassword = new SetPasswordViewModel(); setPassword.Phone = register.PhoneNumber; return(View("SetPassword", setPassword)); } else { ViewData["Message"] = "این شماره ثبت شده است."; } return(View()); } else { ViewData["Message"] = "خطایی رخ داده مجدد سعی نمایید"; return(View()); } } return(View()); }