namespace Brizco.Domain.Entities.Task; public class Task : ApiEntity { public Task() { } public static Task Create( string title, string description, TaskType type, bool isRelatedToShift, bool isRelatedToRole, bool isRelatedToPerson, bool isDisposable, DateTime setFor, bool hasDisposed, int amount, PurchaseAmountType amountType) { return new Task(type, isRelatedToShift, isRelatedToRole, isRelatedToPerson, isDisposable, setFor, hasDisposed, amount, amountType, title, description); } internal Task( TaskType type, bool isRelatedToShift, bool isRelatedToRole, bool isRelatedToPerson, bool isDisposable, DateTime setFor, bool hasDisposed, int amount, PurchaseAmountType amountType, string title, string description) { Type = type; IsRelatedToShift = isRelatedToShift; IsRelatedToRole = isRelatedToRole; IsRelatedToPerson = isRelatedToPerson; IsDisposable = isDisposable; SetFor = setFor; HasDisposed = hasDisposed; Amount = amount; AmountType = amountType; Title = title; Description = description; } public TaskType Type { get; private set; } public string Title { get; private set; } = string.Empty; public string Description { get; private set; } = string.Empty; public bool IsRelatedToShift { get; private set; } public bool IsRelatedToRole { get; private set; } public bool IsRelatedToPerson { get; private set; } public bool IsDisposable { get; private set; } public DateTime SetFor { get; private set; } public bool HasDisposed { get; private set; } public int Amount { get; private set; } public PurchaseAmountType AmountType { get; private set; } public virtual ICollection? TaskUsers { get; set; } public virtual ICollection? TaskShifts { get; set; } public virtual ICollection? TaskRoles { get; set; } }