Files
Library/OwnChar/Manager/CharacterManager.cs
2024-06-17 08:30:40 +02:00

48 lines
1.3 KiB
C#

using OwnChar.Model;
namespace OwnChar.Manager;
public class CharacterManager(OwnCharManager manager)
{
public OwnCharManager Manager { get; } = manager;
public IEnumerable<Character>? GetCharacters(Group? group)
{
Manager.CheckLogin();
if (group != null)
return Manager.DataManager.GetCharacters(Manager.CurrentUser, group);
return null;
}
public IEnumerable<Character>? GetCharacters(UserProfile? profile)
{
Manager.CheckLogin();
if (profile != null)
return Manager.DataManager.GetCharacters(Manager.CurrentUser, profile);
return null;
}
public Character? CreateCharacter(string? name)
{
return CreateCharacter(name, null);
}
public Character? CreateCharacter(string? name, Group? destination)
{
ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name));
Manager.CheckLogin();
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);
}
}