public IActionResult Index(ForgotPasswordViewModel model) { if (ModelState.IsValid) { var user = _userService.GetUserByNationalCode(model.NationalCode); if (user == null) { TempData.AddResult(ServiceResult.Error("کدملی وارد شده در سامانه وجود ندارد.")); return(View("Error")); } if (user.PhoneNumber.Trim() != model.PhoneNumber.Trim()) { TempData.AddResult(ServiceResult.Error("تلفن همراه وارد شده با تلفن همراه این کدملی در سامانه مقایرت دارد.")); return(RedirectToAction(nameof(Index))); } var randomCode = _userService.GenerateRandomNumber(10000, 99999); user.RandomCode = randomCode; _userService.UpdateUser(user); _smsService.sendMessage(model.PhoneNumber, $"<<سامانه کارآموزی>>\n \n" + $"کد فعال سازی: {randomCode}"); return(RedirectToAction(nameof(ForgetPasswordSmsConfirmation), model)); } else { return(View(model)); } }
//[ValidateDNTCaptcha(CaptchaGeneratorLanguage = DNTCaptcha.Core.Providers.Language.Persian)] public async Task <IActionResult> Index(RegisterViewModel model) { if (ModelState.IsValid) { var user = new User(); Mapper.Map(model, user); if (model.UserType == UserTypeSSOT.Person) { user.UserName = model.NationalCode; } else { user.UserName = model.Email; } user.EmailConfirmed = true; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { _logger.LogInformation($"کاربر {user.UserName} از طریق سایت ثبت نام کرده است."); var ChangePhoneNumberToken = await _userManager.GenerateChangePhoneNumberTokenAsync(user, model.PhoneNumber); _smsService.sendMessage(model.PhoneNumber, "به سامانه کارآموزی خوش آمدید."); //var smsResult = await _smsSender.SendSmsAsync(model.PhoneNumber, $"برای تکمیل ثبت نام خود کد : {ChangePhoneNumberToken} را وارد نمایید."); if (model.UserType == UserTypeSSOT.Person) { await _userManager.AddToRoleAsync(user, ConstantRoles.UserBase); } if (model.CreateByAdmin.HasValue && model.CreateByAdmin == true) { return(Redirect("~/Identity/UsersManager/Index")); } else { await _signInManager.SignInAsync(user, false, null); return(Redirect("/")); } } List <string> errors = new List <string>(); foreach (var error in result.Errors) { //ModelState.AddModelError(string.Empty, error.Description); errors.Add(error.Description); } TempData.AddResult(ServiceResult.Error(string.Join("<br/>", errors))); } ViewBag.UserType = model.UserType; return(View(model)); }