public async Task <IActionResult> Index(HomeInputViewModel input)
        {
            input.NoActiveScreen    = false;
            input.PasswordChanged   = false;
            input.UserActivated     = false;
            input.ShowUserNotActive = false;
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(input.Email);

                if (user == null || !user.EmailConfirmed)
                {
                    input.ShowUserNotActive = true;
                    return(View(input));
                }
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(input.Email, input.Password, false, false);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home", new { Area = "Admin" }));
                }

                ModelState.AddModelError(string.Empty, Resources.Views.ClientHome.Index.InvalidLogin);
                input.Email    = "";
                input.Password = "";
                return(View(input));
            }

            // If we got this far, something failed, redisplay form
            return(View(input));
        }
Exemple #2
0
        public HomeViewModel Get(HomeInputViewModel input)
        {
            HomeViewModel homeViewModel = new HomeViewModel();

            try
            {
                string token = GetRequestHeader();
                User   user  = UnitOfWork.UserRepository.GetByToken(token);
                if (user.IsActive == false)
                {
                    homeViewModel.Result = null;
                    homeViewModel.Status = status.ReturnStatus(16, Resources.Messages.InvalidUser, false);
                    return(homeViewModel);
                }

                if (!(String.IsNullOrEmpty(input.Version)))
                {
                    user.VersionNumber = input.Version;
                }
                if (!(String.IsNullOrEmpty(input.OsType)))
                {
                    user.OsType = input.OsType;
                }

                if (!(String.IsNullOrEmpty(input.Version)) || !(String.IsNullOrEmpty(input.OsType)))
                {
                    UnitOfWork.UserRepository.Update(user);
                    UnitOfWork.Save();
                }

                homeViewModel = GetHomeViewModel(user.Id);
                //UpdateCommentCounts();
            }
            catch (Exception e)
            {
                return(new HomeViewModel()
                {
                    Result = null,
                    Status = status.ReturnStatus(100, "خطا در بازیابی اطلاعات", false)
                });
            }
            return(homeViewModel);
        }
        public IActionResult Index(bool noActiveScreen = false, bool passwordChanged = false, bool userActivated = false)
        {
            if (User != null)
            {
                if (_signInManager.IsSignedIn(User))
                {
                    return(RedirectToAction("Index", "Home", new { Area = "Admin" }));
                }
            }

            var inputModel = new HomeInputViewModel
            {
                NoActiveScreen    = noActiveScreen,
                PasswordChanged   = passwordChanged,
                UserActivated     = userActivated,
                ShowUserNotActive = false
            };

            return(View(inputModel));
        }
Exemple #4
0
 public ActionResult Input(HomeInputViewModel vm)
 {
     return(View(vm));
 }