コード例 #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));
        }
コード例 #3
0
 public async Task<ActionResult> Index(AccountDto account)
 {
     string password = PasswordMd5.HashPassword(account.Password);
     Account accountLogin = await accountDAO.LoginAsync(account.Email, password, false);
     if (accountLogin != null)
     {
         Session.Add(Constant.UserCustomerSession, accountLogin);
         return RedirectToAction("Index", "Home");
     }
     ModelState.AddModelError("", "Sai tài khoản hoặc mật khẩu!");
     return View();
 }
コード例 #4
0
        public async Task <ActionResult> Edit(AccountUserDto userDto)
        {
            if (!string.IsNullOrWhiteSpace(userDto.NewPassword))
            {
                userDto.Password = PasswordMd5.HashPassword(userDto.NewPassword);
            }
            bool result = await userDAO.EditAsync(userDto);

            if (result)
            {
                TempData["EditAccount"] = "Cập nhật thông tin thành công!";
            }
            else
            {
                TempData["EditAccount"] = "Đã hủy cập nhật thông tin!";
            }
            return(RedirectToAction("Index", "Home"));
        }
コード例 #5
0
        public async Task <ActionResult> Index(AccountDto account)
        {
            if (ModelState.IsValid)
            {
                string  password     = PasswordMd5.HashPassword(account.Password);
                Account accountLogin = await accountDAO.LoginAsync(account.Email, password);

                if (accountLogin != null && (accountLogin.AccountRole == AccountRole.Manager || accountLogin.AccountRole == AccountRole.Admin))
                {
                    Session.Add(Constant.UserAdminSession, accountLogin);
                    var        authTicket = new FormsAuthenticationTicket(1, $"{accountLogin.Email}", DateTime.Now, DateTime.Now.AddMinutes(20), account.RememberMe, account.Password, "/");
                    HttpCookie cookie     = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket));
                    Response.Cookies.Add(cookie);
                    return(RedirectToAction("Index", "Home"));
                }
                ModelState.AddModelError("", "Sai tài khoản hoặc mật khẩu!");
            }
            return(View(account));
        }