using System; using _0_Framework.Domain; using AccountManagement.Application.Contracts.Account; using AccountManagement.Domain.AccountAgg; using AccountManagement.Domain.RoleAgg; namespace AccountManagement.Domain.AccountLeftWorkAgg; public class AccountLeftWork : EntityBase { public AccountLeftWork(DateTime startWorkGr, DateTime leftWorkGr, long accountId, long workshopId, long roleId) { StartWorkGr = startWorkGr; LeftWorkGr = leftWorkGr; AccountId = accountId; WorkshopId = workshopId; RoleId = roleId; IsActive = leftWorkGr > DateTime.Now; } public AccountLeftWork(DateTime startWorkGr, DateTime leftWorkGr, long accountId, long workshopId, long roleId, bool isActive) { StartWorkGr = startWorkGr; LeftWorkGr = leftWorkGr; AccountId = accountId; WorkshopId = workshopId; RoleId = roleId; IsActive = isActive; } public DateTime StartWorkGr { get; private set; } public DateTime LeftWorkGr { get; private set; } public long WorkshopId { get; private set; } public long RoleId { get; private set; } public long AccountId { get; private set; } public bool IsActive { get; private set; } public Account Account { get; set; } public void Edit(DateTime startWorkGr, DateTime leftWorkGr,long workshopId,long roleId,bool isActive) { StartWorkGr = startWorkGr; LeftWorkGr = leftWorkGr; WorkshopId = workshopId; RoleId = roleId; IsActive = leftWorkGr > DateTime.Now && isActive; } public void DeActive(DateTime startWorkGr, DateTime leftWorkGr) { StartWorkGr = startWorkGr; LeftWorkGr = leftWorkGr; IsActive = false; } }