Compare commits
1 Commits
2f1e9716fe
...
6a48628fd8
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a48628fd8 |
@@ -1,5 +1,6 @@
|
|||||||
using OwnChar.Api;
|
using OwnChar.Api;
|
||||||
using OwnChar.Model;
|
using OwnChar.Model;
|
||||||
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||||
|
|
||||||
namespace OwnChar.Data.Managers;
|
namespace OwnChar.Data.Managers;
|
||||||
|
|
||||||
@@ -109,7 +110,36 @@ public class DefaultDataManager : IDataManager
|
|||||||
if (e.Action != DataManagerActions.Associate)
|
if (e.Action != DataManagerActions.Associate)
|
||||||
return false;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using OwnChar.Api;
|
using OwnChar.Api;
|
||||||
using OwnChar.Data;
|
using OwnChar.Data;
|
||||||
using OwnChar.Model;
|
using OwnChar.Model;
|
||||||
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||||
|
|
||||||
namespace OwnChar.Manager.Modules;
|
namespace OwnChar.Manager.Modules;
|
||||||
|
|
||||||
@@ -9,42 +10,44 @@ public class GroupsManager(OwnCharManager manager) : OwnCharManagerModule(manage
|
|||||||
public UserProfile? GetOwner(Group? group)
|
public UserProfile? GetOwner(Group? group)
|
||||||
{
|
{
|
||||||
ArgumentNullException.ThrowIfNull(group, nameof(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)
|
public IEnumerable<UserProfile>? GetMembers(Group? group)
|
||||||
{
|
{
|
||||||
ArgumentNullException.ThrowIfNull(group, nameof(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)
|
public bool AddMember(UserProfile? profile, Group? group)
|
||||||
{
|
{
|
||||||
Manager.CheckLogin();
|
|
||||||
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
|
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
|
||||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
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)
|
public bool DeleteMember(UserProfile? profile, Group? group)
|
||||||
{
|
{
|
||||||
Manager.CheckLogin();
|
|
||||||
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
|
ArgumentNullException.ThrowIfNull(profile, nameof(profile));
|
||||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
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)
|
public Group? CreateGroup(string? name)
|
||||||
{
|
{
|
||||||
Manager.CheckLogin();
|
|
||||||
ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name));
|
ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name));
|
||||||
|
Manager.CheckLogin();
|
||||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Creation.Group, DataManagerActionType.Default, Manager.CurrentUser!, null, name).Result as Group;
|
return Manager.DataManager.ExecuteAction(DataManagerActions.Creation.Group, DataManagerActionType.Default, Manager.CurrentUser!, null, name).Result as Group;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool DeleteGroup(Group? group)
|
public bool DeleteGroup(Group? group)
|
||||||
{
|
{
|
||||||
Manager.CheckLogin();
|
|
||||||
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
ArgumentNullException.ThrowIfNull(group, nameof(group));
|
||||||
|
Manager.CheckLogin();
|
||||||
return Manager.DataManager.ExecuteAction(DataManagerActions.Delete, DataManagerActionType.Default, Manager.CurrentUser!, group).HasSuccess;
|
return Manager.DataManager.ExecuteAction(DataManagerActions.Delete, DataManagerActionType.Default, Manager.CurrentUser!, group).HasSuccess;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user