47 lines
1.6 KiB
C#
47 lines
1.6 KiB
C#
using _0_Framework.Domain;
|
|
using AccountManagement.Domain.AccountAgg;
|
|
using AccountManagement.Domain.SubAccountAgg;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
namespace AccountManagement.Domain.SubAccountRoleAgg
|
|
{
|
|
public class SubAccountRole : EntityBase
|
|
{
|
|
public string Title { get; private set; }
|
|
|
|
public long AccountId { get; private set; }
|
|
|
|
public List<SubAccountRolePermission> RolePermissions { get; private set; }
|
|
public List<SubAccount> SubAccounts { get; private set; }
|
|
public List<SubAccountRoleWorkshop> RoleWorkshops { get; set; }
|
|
|
|
private SubAccountRole()
|
|
{
|
|
}
|
|
|
|
public SubAccountRole(string title, List<int> permissions, long accountId, List<long> workshopIds)
|
|
{
|
|
Title = title;
|
|
RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList();
|
|
AccountId = accountId;
|
|
RoleWorkshops = workshopIds.Select(x => new SubAccountRoleWorkshop(x, id)).ToList();
|
|
|
|
}
|
|
|
|
public void ChangeTitle(string title)
|
|
{
|
|
Title = title;
|
|
}
|
|
public void AddPermissions(List<int> permissionIds)
|
|
{
|
|
RolePermissions.AddRange(permissionIds.Select(x => new SubAccountRolePermission(x, id)));
|
|
}
|
|
public void Edit(string title, List<int> permissions,List<long> workshopIds)
|
|
{
|
|
Title = title;
|
|
RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList();
|
|
RoleWorkshops = workshopIds.Select(x => new SubAccountRoleWorkshop(x, id)).ToList();
|
|
|
|
}
|
|
}
|
|
} |