コード例 #1
0
        public IActionResult ForgotPassword(ForgotPasswordViewModel forgot)
        {
            if (!ModelState.IsValid)
            {
                return(View(forgot));
            }

            DataLayer.Entities.User.User user = _userService.GetUserByPhoneNumber(forgot.PhoneNumber);
            if (user != null)
            {
                if (user.Email == null)
                {
                    ModelState.AddModelError("PhoneNumber", "ایمیل مربوط به این شماره تماس در سایت ثبت نشده است و امکان بازیابی رمز عبور فراهم نیست");
                    return(View(forgot));
                }
            }
            if (user == null)
            {
                ModelState.AddModelError("PhoneNumber", "چنین کاربری یافت نشد.");
                return(View(forgot));
            }


            string bodyemail = _viewRenderService.RenderToStringAsync("_ForgotPassword", user);

            SendEmail.Send(user.Email, "بازیابی رمز عبور", bodyemail);
            ViewBag.IsSuccess = true;
            return(View());
        }
コード例 #2
0
ファイル: UsersController.cs プロジェクト: Afshinh031/Store
        public IActionResult Index([Bind("UserEmail,UserPassworld,roleId,PageNumber")] UserAdminPanelViewModel userAdminPanelViewModel)
        {
            string error = CheckUserInfo(userAdminPanelViewModel);

            if (!string.IsNullOrEmpty(error))
            {
                ModelState.AddModelError("UserEmail", error);
                return(View(GetUserInfo(userAdminPanelViewModel.PageNumber)));
            }
            var user = new DataLayer.Entities.User.User()
            {
                UserImage    = "Defult.jpg",
                UserIsActive = true,
                UserEmailConfigurationCode     = TextTools.GenerateUniqCode(),
                UserEmailConfigurationDateTime = DateTime.Now,
                UserDateTime           = DateTime.Now,
                UserPassword           = userAdminPanelViewModel.UserPassworld.ToEncodePasswordMd5(),
                UserEmail              = userAdminPanelViewModel.UserEmail.TextFix(),
                UserLastUpdateDateTime = DateTime.Now,
                UserDescription        = "ثبت نام توسط مدیر",
            };
            int userId = _userRepository.InsertUser(user);

            if (userId <= 0)
            {
                ModelState.AddModelError("UserEmail", "خطا در ثبت اطلاعات");
                return(View(GetUserInfo(userAdminPanelViewModel.PageNumber)));
            }
            _userRepository.InsertRolesToUser(userId, userAdminPanelViewModel.roleId);
            _userRepository.SaveUser();
            return(View(GetUserInfo(userAdminPanelViewModel.PageNumber)));
        }
コード例 #3
0
        public IActionResult Register(RegisterViewModel register)
        {
            #region چک کردن اعتبار سنجی ها و عدم وجود نام کاربری و ایمیل
            if (!ModelState.IsValid)
            {
                return(View(register));
            }

            if (_userService.isExistEmail(FixedText.FixEmail(register.Email)))
            {
                ModelState.AddModelError("Email", "این ایمیل موجود می باشد");
                return(View(register));
            }

            if (_userService.isExistUserName(FixedText.FixEmail(register.UserName)))
            {
                ModelState.AddModelError("UserName", "این نام کاربری معتبر نمی باشد");
                return(View(register));
            }

            #endregion
            #region ثبت کاربر
            DataLayer.Entities.User.User user = new DataLayer.Entities.User.User()
            {
                ActiveCode   = NameGenerator.GenerateUniqCode(),
                Email        = FixedText.FixEmail(register.Email),
                IsActive     = false,
                Password     = PasswordHelper.EncodePasswordMd5(register.Password),
                RegisterDate = DateTime.Now,
                UserAvatar   = "Defult.jpg",
                UserName     = register.UserName,
            };

            _userService.AddUser(user);


            #endregion

            #region ارسال ایمیل فعال سازی
            string body = _ViewRender.RenderToStringAsync("_ActiveEmail", user);
            SendEmail.Send(user.Email, "فعالسازی", body);

            #endregion

            return(View("SuccessRegister", user));
        }
コード例 #4
0
        public ActionResult ResetPassword(AccountViewModel.ResetPasswordViewModel reset)
        {
            if (!ModelState.IsValid)
            {
                return(View(reset));
            }
            DataLayer.Entities.User.User user = _userService.GetUserByActiveCode(reset.ActiveCode);

            if (user == null)
            {
                return(NotFound());
            }

            string hashNewPassword = PasswordHelper.EncodePasswordMd5(reset.Password);

            user.Password = hashNewPassword;
            _userService.UpdateUser(user);
            return(Redirect("/login"));
        }
コード例 #5
0
        public IActionResult ResetPassword(ResetPasswordViewModel reset)
        {
            if (!ModelState.IsValid)
            {
                return(View(reset));
            }

            DataLayer.Entities.User.User user = _userService.GetUserByActiveCode(reset.ActiveCode);
            if (user == null)
            {
                return(NotFound());
            }
            string hashnewpassword = PasswordHelper.EncodePasswordMd5(reset.NewPassword);

            user.Password   = hashnewpassword;
            user.ActiveCode = NameGenerator.GenerateUniqCode();
            _userService.UpdateUser(user);
            return(Redirect("/Login"));
        }
コード例 #6
0
        public IActionResult Register(RegisterViewModel register)
        {
            if (!ModelState.IsValid)
            {
                return(View(register));
            }

            if (_userService.IsExistUserName(register.UserName))
            {
                ModelState.AddModelError("UserName", "این نام کاربری قبلا ثبت شده است.");
                return(View(register));
            }

            if (_userService.IsExistPhoneNumber(register.PhoneNumber))
            {
                ModelState.AddModelError("PhoneNumber", "این شماره موبایل قبلا ثبت شده است.");
                return(View(register));
            }
            if (register.Email != null)
            {
                if (_userService.IsExistEmail(FixedText.FixEmail(register.Email)))
                {
                    ModelState.AddModelError("Email", "این ایمیل قبلا ثبت شده است.");
                    return(View(register));
                }
            }


            DataLayer.Entities.User.User user = new DataLayer.Entities.User.User()
            {
                UserName     = register.UserName,
                PhoneNumber  = register.PhoneNumber,
                Email        = register.Email,
                Password     = PasswordHelper.EncodePasswordMd5(register.Password),
                ActiveCode   = NameGenerator.GenerateUniqCode(),
                RegisterDate = DateTime.Now,
            };
            _userService.AddUser(user);
            return(View("SuccessRegister", user));
        }
コード例 #7
0
        public ActionResult ForgotPassword(ForgotPasswordViewModel forgot)
        {
            if (!ModelState.IsValid)
            {
                return(View(forgot));
            }

            string fixedEmail = FixedText.FixEmail(forgot.Email);

            DataLayer.Entities.User.User user = _userService.GetUserByEmail(fixedEmail);

            if (user == null)
            {
                ModelState.AddModelError("Email", "کاربری یافت نشد");
                return(View(forgot));
            }

            string bodyEmail = _viewRender.RenderToStringAsync("_ForgotPassword", user);

            SendEmail.Send(user.Email, "بازیابی حساب کاربری", bodyEmail);
            ViewBag.IsSuccess = true;

            return(View());
        }
コード例 #8
0
        public IActionResult Register(UserRegisterViewModel userRegisterViewModel)
        {
            if (!ModelState.IsValid)
            {
                userRegisterViewModel.UserPassword             = null;
                userRegisterViewModel.UserConfigortionPassword = null;
                return(View(userRegisterViewModel));
            }
            if (userRegisterViewModel.UserPassword.Length < 5)
            {
                ModelState.AddModelError("UserPassword", "طول کلمه عبور باید بشتر از 5 کاراکتر باشد");
                userRegisterViewModel.UserPassword             = null;
                userRegisterViewModel.UserConfigortionPassword = null;
                return(View(userRegisterViewModel));
            }
            if (userRegisterViewModel.UserPassword != userRegisterViewModel.UserConfigortionPassword)
            {
                ModelState.AddModelError("UserPassword", "کلمه عبور مغایرت دارد");
                userRegisterViewModel.UserPassword             = null;
                userRegisterViewModel.UserConfigortionPassword = null;
                return(View(userRegisterViewModel));
            }

            if (_userService.UserEmialIsExist(userRegisterViewModel.UserEmail))
            {
                ModelState.AddModelError("UserEmail", "ایمیل معتبر نمی باشد");
                userRegisterViewModel.UserPassword             = null;
                userRegisterViewModel.UserConfigortionPassword = null;
                return(View(userRegisterViewModel));
            }



            var user = new DataLayer.Entities.User.User()
            {
                UserImage    = "Defult.jpg",
                UserIsActive = false,
                UserEmailConfigurationCode     = TextTools.GenerateUniqCode(),
                UserEmailConfigurationDateTime = DateTime.Now,
                UserDateTime           = DateTime.Now,
                UserPassword           = userRegisterViewModel.UserPassword.ToEncodePasswordMd5(),
                UserEmail              = userRegisterViewModel.UserEmail.FixEmail(),
                UserLastUpdateDateTime = DateTime.Now,
                UserDescription        = "ثیت نام",
            };

            if (!(_userRepository.InsertUser(user)))
            {
                ModelState.AddModelError("UserEmail", "خطا در ثبت اطلاعات");
                userRegisterViewModel.UserPassword             = null;
                userRegisterViewModel.UserConfigortionPassword = null;
                return(View(userRegisterViewModel));
            }

            _userRepository.SaveUser();
            string send = SendEmail.Send(user.UserEmail, "کد فعال سازی حساب کاربری", _viewRenderService.RenderToStringAsync("_ActiveCodeEmail", user));

            if (send != "1")
            {
                return(Content("خطا در ارسال ایمیل فعال سازی با پشتیبانی تماس بگیرید"));
            }
            return(View("RegisterSuccess", userRegisterViewModel));
        }