示例#1
0
        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));
            }
        }
示例#2
0
        //[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));
        }