Initial commit
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using PowderCoating.Core.Enums;
|
||||
|
||||
namespace PowderCoating.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// A named blast setup for a company (e.g. "Siphon Cabinet", "Pressure Pot #1", "Blast Room").
|
||||
/// Companies can have multiple setups; one is flagged as the default used for AI quoting when
|
||||
/// the user doesn't pick a specific one.
|
||||
/// </summary>
|
||||
public class CompanyBlastSetup : BaseEntity
|
||||
{
|
||||
/// <summary>Friendly name shown in dropdowns, e.g. "Main Cabinet" or "Outdoor Blast Pot".</summary>
|
||||
[Required]
|
||||
[StringLength(100)]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
public BlastSetupType SetupType { get; set; } = BlastSetupType.PressurePot;
|
||||
|
||||
/// <summary>Compressor CFM available at the blast nozzle.</summary>
|
||||
[Range(0, 9999)]
|
||||
public decimal CompressorCfm { get; set; }
|
||||
|
||||
/// <summary>Nozzle orifice number (2–8).</summary>
|
||||
[Range(2, 8)]
|
||||
public int BlastNozzleSize { get; set; } = 5;
|
||||
|
||||
public BlastSubstrateType PrimarySubstrate { get; set; } = BlastSubstrateType.Mixed;
|
||||
|
||||
/// <summary>
|
||||
/// When set, bypasses the derived formula and uses this exact rate (sqft/hr).
|
||||
/// Useful for shops that have measured their own throughput.
|
||||
/// </summary>
|
||||
[Range(0, 99999)]
|
||||
public decimal? BlastRateSqFtPerHourOverride { get; set; }
|
||||
|
||||
/// <summary>Used as the default rate when no setup is explicitly selected in the wizard.</summary>
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
public int DisplayOrder { get; set; }
|
||||
|
||||
// Navigation
|
||||
public virtual Company Company { get; set; } = null!;
|
||||
}
|
||||
Reference in New Issue
Block a user