using Brizco.Domain.Entities.User;

namespace Brizco.Domain.Entities.Task;

public partial class Activity : Task
{

    public Activity()
    {
    }

    public Activity(
        ActivityStatus status,
        DateTime doneAt,
        string performanceDescription,
        TaskType type,
        bool isDisposable,
        DateTime setFor,
        bool hasDisposed,
        int amount,
        PurchaseAmountType amountType,
        string title,
        string description,
        Guid complexId,
        TaskScheduleType scheduleType) : base(type, isDisposable, setFor, hasDisposed, amount, amountType, title, description, complexId, scheduleType)
    {
        Status = status;
        DoneAt = doneAt;
        PerformanceDescription = performanceDescription;
        IsActivity = true;
    }

    public ActivityStatus Status { get; internal set; }
    public DateTime DoneAt { get; internal set; }
    public bool IsDone { get; internal set; }
    public string UnDoneReason { get; internal set; } = string.Empty;
    public string PerformanceDescription { get; internal set; } = string.Empty;
    public Guid UserId { get; internal set; }
    public ApplicationUser? User { get; internal set; }

    public Guid ShiftId { get; internal set; }
    public Shift.Shift? Shift { get; internal set; }
}