Files
Backend-Api/AccountManagement.Domain/AccountLeftWorkAgg/AccountLeftWork.cs
2025-03-02 20:48:09 +03:30

57 lines
1.7 KiB
C#

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