Example #1
0
        public async Task <ActionResult> Index(FormCollection f)
        {
            string email = f["Email"];
            bool   check = await accountDAO.CheckEmailExistAsync(email);

            if (!check)
            {
                ModelState.AddModelError("", "Email không tồn tại!");
                return(View("Index"));
            }
            string passWord = RandomPasswordHelper.CreateRandomPassword();
            string content  = "Mật khẩu của bạn là: " + passWord;

            passWord = PasswordMd5.HashPassword(passWord);
            await accountDAO.UpdatePasswordByEmailAsync(email, passWord);

            try
            {
                await MailHelper.SendEmail(email, "Reset password", content);

                TempData["ResetPassword"] = "******";
                return(RedirectToAction("Index", "Login"));
            }
            catch (Exception)
            {
                TempData["ResetPassword"] = "******";
                return(View());
            }
        }
        public async Task <ActionResult> Index(UserDto userDto)
        {
            bool checkEmail = await accountDAO.CheckEmailExistAsync(userDto.Email);

            if (!checkEmail)
            {
                if (ModelState.IsValid)
                {
                    bool checkPhone = !string.IsNullOrWhiteSpace(userDto.Phone) ? await accountDAO.CheckPhoneExistAsync(userDto.Phone.Trim()) : true;

                    if (checkPhone && string.IsNullOrWhiteSpace(userDto.Phone) || !checkPhone)
                    {
                        User user = new User
                        {
                            Address   = userDto.Address,
                            Name      = userDto.Name,
                            Phone     = userDto.Phone,
                            UserSatus = UserSatus.Active
                        };
                        long userId = await userDAO.CreateUserAsync(user);

                        userDto.Password = PasswordMd5.HashPassword(userDto.Password);
                        Account account = new Account
                        {
                            AccountRole   = AccountRole.Admin,
                            Email         = userDto.Email,
                            Password      = userDto.Password,
                            UserId        = userId,
                            AccountStatus = AccountStatus.Active
                        };
                        bool result = await accountDAO.CreateAccountAsync(account);

                        if (result)
                        {
                            TempData["AddAcountSuccess"] = "Đăng ký tài khoản thành công!";
                            return(RedirectToAction("Index", "Login"));
                        }
                        else
                        {
                            ModelState.AddModelError("AddUserFail", "Đăng ký không thành công!");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("AddUserFail", "Số điện thoại đã tồn tại!");
                    }
                }
            }
            else
            {
                ModelState.AddModelError("EmailExits", "Email đã tồn tại!");
            }
            return(View(userDto));
        }