diff --git a/OwnChar/Manager/OwnCharManager.cs b/OwnChar/Manager/OwnCharManager.cs index 777e060..89d94a2 100644 --- a/OwnChar/Manager/OwnCharManager.cs +++ b/OwnChar/Manager/OwnCharManager.cs @@ -2,13 +2,14 @@ using OwnChar.Manager.Exceptions; using OwnChar.Model; using Pilz.Cryptography; +using System.Diagnostics.CodeAnalysis; namespace OwnChar.Manager; public class OwnCharManager { // User - public bool IsLoggedIn => CurrentUser != null; + public bool IsLoggedIn => CurrentUser != null && DataManager != null; public UserAccount? CurrentUser { get; private set; } // Data Provider @@ -26,6 +27,7 @@ public class OwnCharManager Characters = new(this); } + [MemberNotNull(nameof(CurrentUser), nameof(DataManager))] internal protected void CheckLogin() { if (!IsLoggedIn) @@ -36,6 +38,7 @@ public class OwnCharManager /// Tries to login on the given data provider. /// /// Returns if the login was successfull and if not. + [MemberNotNullWhen(true, nameof(CurrentUser), nameof(DataManager))] public bool Login(IDataManager? proxy, string? username, SecureString? password) { ArgumentNullException.ThrowIfNull(proxy, nameof(proxy));