public async Task <LoginResult> LoginUserAsync(string usernameOrEmail, string password) { var success = await _userDbManager.LoginAsync(usernameOrEmail, password); if (success) { var user = await _userDbManager.GetUserByUsernameAsync(usernameOrEmail) ?? await _userDbManager.GetUserByEmailAsync(usernameOrEmail); if (user == null) { return(new LoginResult("User not found")); } if (!user.IsActive) { return(new LoginResult("User not actived")); } if (user.IsBlocked) { return(new LoginResult("User blocked")); } return(new LoginResult(user.Id)); } return(new LoginResult("Login failed")); }