public virtual async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (_userManager.CheckIsUserBannedOrDelete(model.UserName))
            {
                this.AddErrors("UserName", "حساب کاربری شما مسدود شده است");
                return(View(model));
            }
            //if (!_userManager.IsEmailConfirmedByUserNameAsync(model.UserName))
            //{
            //  ViewBag.Message = "برای ورود به سایت لازم است حساب خود را فعال کنید";

            //  return RedirectToAction("ReceiveActivatorEmail", "Account");
            //}

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await _signInManager.PasswordSignInAsync
                             (model.UserName.ToLower(), model.Password, model.RememberMe, shouldLockout : true);

            switch (result)
            {
            case SignInStatus.Success:
                var user = await _userManager.FindByNameAsync(model.UserName.ToLower());

                user.LastLoginDate = DateTime.Now;
                user.LastIp        = Network.GetClientIp();
                await _userManager.UpdateAsync(user);

                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                ViewBag.ErrorMessage = string.Format("دقیقه دوباره امتحان کنید {0} حساب شما قفل شد ! لطفا بعد از ",
                                                     _userManager.DefaultAccountLockoutTimeSpan);
                return(View(model));

            case SignInStatus.Failure:
                ViewBag.ErrorMessage = @"نام کاربری یا رمز عبور اشتباه است.";
                return(View(model));

            default:
                ViewBag.ErrorMessage = "در این لحظه امکان ورود به  سابت وجود ندارد . مراتب را با مسئولان سایت در میان بگذارید";
                return(View(model));
            }
        }
Esempio n. 2
0
        public virtual async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (_userManager.CheckIsUserBannedOrDelete(model.UserName))
            {
                this.AddErrors("UserName", "حساب کاربری شما مسدود شده است");
                return(View(model));
            }
            if (!_userManager.IsEmailConfirmedByUserNameAsync(model.UserName))
            {
                this.NotyWarning("برای ورود به سایت لازم است حساب خود را فعال کنید");
                return(RedirectToAction(MVC.Account.ActionNames.ReceiveActivatorEmail, MVC.Account.Name));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await _signInManager.PasswordSignInAsync
                             (model.UserName.ToLower(), model.Password, model.RememberMe, shouldLockout : true);

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                this.NotyError(
                    string.Format("دقیقه دوباره امتحان کنید {0} حساب شما قفل شد ! لطفا بعد از ",
                                  _userManager.DefaultAccountLockoutTimeSpan), isSticky: true);
                return(View(model));

            case SignInStatus.Failure:
                this.NotyError(ModelState.GetListOfErrors());
                return(View(model));

            default:
                this.NotyError(
                    "در این لحظه امکان ورود به  سابت وجود ندارد . مراتب را با مسئولان سایت در میان بگذارید",
                    isSticky: true);
                return(View(model));
            }
        }