Files
Backend-Api/AccountManagement.Domain/SubAccountRoleAgg/SubAccountRole.cs
2025-05-30 18:03:47 +03:30

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();
}
}
}