namespace PowderCoating.Core.Entities;

public class JobTemplateItem : BaseEntity
{
    public int JobTemplateId { get; set; }
    public string Description { get; set; } = string.Empty;
    public decimal Quantity { get; set; } = 1;
    public decimal SurfaceAreaSqFt { get; set; }
    public int? CatalogItemId { get; set; }
    public bool IsGenericItem { get; set; }
    public bool IsLaborItem { get; set; }
    public bool IsSalesItem { get; set; }
    public string? Sku { get; set; }
    public decimal? ManualUnitPrice { get; set; }
    public bool RequiresSandblasting { get; set; }
    public bool RequiresMasking { get; set; }
    public bool IncludePrepCost { get; set; }
    public int EstimatedMinutes { get; set; }
    public string? Complexity { get; set; }
    public string? Notes { get; set; }
    public int DisplayOrder { get; set; }

    // Navigation properties
    public virtual JobTemplate JobTemplate { get; set; } = null!;
    public virtual CatalogItem? CatalogItem { get; set; }
    public virtual ICollection<JobTemplateItemCoat> Coats { get; set; } = new List<JobTemplateItemCoat>();
    public virtual ICollection<JobTemplateItemPrepService> PrepServices { get; set; } = new List<JobTemplateItemPrepService>();
}
