using e_suite.Workflow.Core.Attributes;
using e_suite.Workflow.Core.Enums;

namespace e_suite.Workflow.Core.Interfaces;

[TaskCapability]
public interface IBudget
{
    /// <summary>
    /// units of work involved in this item (UoW is a business term in this context)
    /// </summary>
    public decimal UnitsOfWork { get; set; }

    /// <summary>
    /// Cost of this work item
    /// </summary>
    public Cost Cost { get; set; }

    /// <summary>
    /// The option to show in budget.
    /// </summary>
    public BudgetOption BudgetOption { get; set; }

    /// <summary>
    /// Time tracking of this item
    /// </summary>
    public bool AllowTimeTracking { get; set; }

    /// <summary>
    /// Priority of this item
    /// </summary>
    public Priority Priority { get; set; }
}