simplyfy null checks

This commit is contained in:
Schedel Pascal
2024-06-17 08:30:40 +02:00
parent d3b935bebc
commit 48b8faed4e
4 changed files with 22 additions and 22 deletions

View File

@@ -9,7 +9,7 @@ public interface IDataManager
abstract bool Logout(UserAccount? account);
// User management
abstract UserAccount? CreateUserAccount(string username, string password);
abstract UserAccount? CreateUserAccount(UserAccount account, string username, string password);
abstract UserProfile? GetUserProfile(UserAccount account);
abstract bool DeleteUserAccount(UserAccount account);

View File

@@ -11,7 +11,7 @@ public class CharacterManager(OwnCharManager manager)
Manager.CheckLogin();
if (group != null)
return Manager.DataManager?.GetCharacters(Manager.CurrentUser!, group);
return Manager.DataManager.GetCharacters(Manager.CurrentUser, group);
return null;
}
@@ -21,7 +21,7 @@ public class CharacterManager(OwnCharManager manager)
Manager.CheckLogin();
if (profile != null)
return Manager.DataManager?.GetCharacters(Manager.CurrentUser!, profile);
return Manager.DataManager.GetCharacters(Manager.CurrentUser, profile);
return null;
}
@@ -34,18 +34,14 @@ public class CharacterManager(OwnCharManager manager)
public Character? CreateCharacter(string? name, Group? destination)
{
ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name));
Manager.CheckLogin();
return Manager.DataManager?.CreateCharacter(Manager.CurrentUser!, name, destination);
return Manager.DataManager.CreateCharacter(Manager.CurrentUser, name, destination);
}
public bool DeleteCharacter(Character? character)
{
ArgumentNullException.ThrowIfNull(character, nameof(character));
Manager.CheckLogin();
return Manager.DataManager?.DeleteCharacter(Manager.CurrentUser!, character) ?? false;
return Manager.DataManager.DeleteCharacter(Manager.CurrentUser, character);
}
}

View File

@@ -9,42 +9,44 @@ public class GroupsManager(OwnCharManager manager)
public UserProfile? GetOwner(Group? group)
{
ArgumentNullException.ThrowIfNull(group, nameof(group));
return Manager.DataManager?.GetOwner(Manager.CurrentUser!, group);
Manager.CheckLogin();
return Manager.DataManager.GetOwner(Manager.CurrentUser, group);
}
public IEnumerable<UserProfile>? GetMembers(Group? group)
{
ArgumentNullException.ThrowIfNull(group, nameof(group));
return Manager.DataManager?.GetMembers(Manager.CurrentUser!, group);
Manager.CheckLogin();
return Manager.DataManager.GetMembers(Manager.CurrentUser, group);
}
public bool AddMember(UserProfile? profile, Group? group)
{
Manager.CheckLogin();
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
ArgumentNullException.ThrowIfNull(group, nameof(group));
return Manager.DataManager?.AddMember(Manager.CurrentUser!, group, profile) ?? false;
Manager.CheckLogin();
return Manager.DataManager.AddMember(Manager.CurrentUser, group, profile);
}
public bool DeleteMember(UserProfile? profile, Group? group)
{
Manager.CheckLogin();
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
ArgumentNullException.ThrowIfNull(group, nameof(group));
return Manager.DataManager?.RemoveMember(Manager.CurrentUser!, group, profile) ?? false;
Manager.CheckLogin();
return Manager.DataManager.RemoveMember(Manager.CurrentUser, group, profile);
}
public Group? CreateGroup(string? name)
{
Manager.CheckLogin();
ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name));
return Manager.DataManager?.CreateGroup(Manager.CurrentUser!, name);
Manager.CheckLogin();
return Manager.DataManager.CreateGroup(Manager.CurrentUser, name);
}
public bool DeleteGroup(Group? group)
{
Manager.CheckLogin();
ArgumentNullException.ThrowIfNull(group, nameof(group));
return Manager.DataManager?.DeleteGroup(Manager.CurrentUser!, group) ?? false;
Manager.CheckLogin();
return Manager.DataManager.DeleteGroup(Manager.CurrentUser, group);
}
}

View File

@@ -10,20 +10,22 @@ public class UserManager(OwnCharManager manager)
public UserProfile? GetOwnUserProfile()
{
Manager.CheckLogin();
return Manager.DataManager!.GetUserProfile(Manager.CurrentUser!);
return Manager.DataManager.GetUserProfile(Manager.CurrentUser);
}
public UserAccount? CreateUserAccount(string? username, SecureString? password)
{
ArgumentException.ThrowIfNullOrWhiteSpace(username, nameof(username));
ArgumentException.ThrowIfNullOrWhiteSpace(password, nameof(password));
Manager.CheckLogin();
username = username.Trim().ToLower();
return Manager.DataManager?.CreateUserAccount(username, Utils.HashPassword(username, password));
return Manager.DataManager.CreateUserAccount(Manager.CurrentUser, username, Utils.HashPassword(username, password));
}
public bool DeleteUserAccount(UserAccount? account)
{
ArgumentNullException.ThrowIfNull(account, nameof(account));
return Manager.DataManager?.DeleteUserAccount(account) ?? false;
Manager.CheckLogin();
return Manager.DataManager.DeleteUserAccount(account);
}
}