48 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|