public async Task <IActionResult> Register(RegisterViewModel model) { AccountController _accountController = null; if (ModelState.IsValid) { var user = new IdentityUser { UserName = model.Email, Email = model.Email }; var users = userManager.Users; int count = users.Count(); Console.WriteLine(count); Console.WriteLine(users); if (count == 5) { ViewBag.ErrorMessage = "You cannot register, Maximum no of users reached"; ViewBag.PageTitle = "Register"; return(View(model)); } else if (count < 5) { var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { IEnumerable <ActiveUsers> activeusers = _employeeRepository.AddActiveUser(model.Email); HttpContext.Session.SetString("Email", model.Email); if (activeusers.Count() == 4) { await signInManager.SignInAsync(user, isPersistent : false); return(RedirectToAction("details", "home")); } if (activeusers.Count() > 4) { await _accountController.Logout(); _employeeRepository.RemoveActiveUsers(model.Email); return(RedirectToAction("login", "account")); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } else { ViewBag.ErrorMessage = "You cannot register, Maximum no of users reached"; } } else { ViewBag.PageTitle = "Register"; } return(View(model)); }