d
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using OwnChar.Api;
|
||||
using OwnChar.Model;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
namespace OwnChar.Data.Managers;
|
||||
|
||||
@@ -109,7 +110,36 @@ public class DefaultDataManager : IDataManager
|
||||
if (e.Action != DataManagerActions.Associate)
|
||||
return false;
|
||||
|
||||
// ...
|
||||
if (e.Action == DataManagerActions.Association.Owner)
|
||||
{
|
||||
if (e.Object is Group group)
|
||||
{
|
||||
switch (e.ActionType)
|
||||
{
|
||||
case DataManagerActionType.Get:
|
||||
e.Result = DataProvider.GetOwner(group);
|
||||
return true;
|
||||
case DataManagerActionType.Set:
|
||||
if (e.Parameters.Length >= 1 && e.Parameters[0] is UserProfile profile)
|
||||
return DataProvider.SetOwner(group, profile);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (e.Object is Character character)
|
||||
{
|
||||
switch (e.ActionType)
|
||||
{
|
||||
case DataManagerActionType.Get:
|
||||
e.Result = DataProvider.GetOwner(character);
|
||||
return true;
|
||||
case DataManagerActionType.Set:
|
||||
if (e.Parameters.Length >= 1 && e.Parameters[0] is UserProfile profile)
|
||||
return DataProvider.SetOwner(character, profile);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using OwnChar.Api;
|
||||
using OwnChar.Data;
|
||||
using OwnChar.Model;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
namespace OwnChar.Manager.Modules;
|
||||
|
||||
@@ -9,42 +10,44 @@ public class GroupsManager(OwnCharManager manager) : OwnCharManagerModule(manage
|
||||
public UserProfile? GetOwner(Group? group)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
||||
return Manager.DataManager?.GetOwner(Manager.CurrentUser!, group);
|
||||
Manager.CheckLogin();
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Association.Members, DataManagerActionType.Get, Manager.CurrentUser!, group).HasSuccess;
|
||||
}
|
||||
|
||||
public IEnumerable<UserProfile>? GetMembers(Group? group)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
||||
return Manager.DataManager?.GetMembers(Manager.CurrentUser!, group);
|
||||
Manager.CheckLogin();
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Association.Members, DataManagerActionType.Get, Manager.CurrentUser!, group).HasSuccess;
|
||||
}
|
||||
|
||||
public bool AddMember(UserProfile? profile, Group? group)
|
||||
{
|
||||
Manager.CheckLogin();
|
||||
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
|
||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Association.Members, DataManagerActionType.Set, Manager.CurrentUser!, profile, group).HasSuccess;
|
||||
Manager.CheckLogin();
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Association.Members, DataManagerActionType.Set, Manager.CurrentUser!, group, profile).HasSuccess;
|
||||
}
|
||||
|
||||
public bool DeleteMember(UserProfile? profile, Group? group)
|
||||
{
|
||||
Manager.CheckLogin();
|
||||
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
|
||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Association.Members, DataManagerActionType.Delete, Manager.CurrentUser!, profile, group).HasSuccess;
|
||||
Manager.CheckLogin();
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Association.Members, DataManagerActionType.Delete, Manager.CurrentUser!, group, profile).HasSuccess;
|
||||
}
|
||||
|
||||
public Group? CreateGroup(string? name)
|
||||
{
|
||||
Manager.CheckLogin();
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name));
|
||||
Manager.CheckLogin();
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Creation.Group, DataManagerActionType.Default, Manager.CurrentUser!, null, name).Result as Group;
|
||||
}
|
||||
|
||||
public bool DeleteGroup(Group? group)
|
||||
{
|
||||
Manager.CheckLogin();
|
||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
||||
Manager.CheckLogin();
|
||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Delete, DataManagerActionType.Default, Manager.CurrentUser!, group).HasSuccess;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user