public async Task <IActionResult> Login([FromBody] TmanagerLoginModel loginModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrors())); } var user = await _userManager.FindByNameAsync(loginModel.UserName); var company_user = _context.Companys.FirstOrDefault(c => c.Id == user.CompanyId); if (!user.IsEnabled) { return(BadRequest("Account is blocked")); } if (user.Role != RoleValues.Admin.ToDescription() && company_user != null && !company_user.Status) { return(BadRequest("Your company is blocked")); } var result = await _signInManager.PasswordSignInAsync(loginModel.UserName, loginModel.Password, loginModel.RememberMe, lockoutOnFailure : true); if (result.Succeeded) { string tokenResponse = await TokenProvider.ExecuteAsync(user, _userManager); return(Ok(new { token = tokenResponse })); } if (result.RequiresTwoFactor) { return(BadRequest("Requires Two Factor")); } if (result.IsLockedOut) { return(BadRequest("Is Locked Out")); } return(BadRequest()); }