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 RolePermissions { get; private set; } public List SubAccounts { get; private set; } public List RoleWorkshops { get; set; } private SubAccountRole() { } public SubAccountRole(string title, List permissions, long accountId, List 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 permissionIds) { RolePermissions.AddRange(permissionIds.Select(x => new SubAccountRolePermission(x, id))); } public void Edit(string title, List permissions,List workshopIds) { Title = title; RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList(); RoleWorkshops = workshopIds.Select(x => new SubAccountRoleWorkshop(x, id)).ToList(); } } }