Files
Extrudex/backend/Domain/Entities/AmsSlot.cs
cubecraft-agents[bot] 230c3b295d initial commit
2026-04-25 18:51:05 +00:00

41 lines
1.2 KiB
C#

using Extrudex.Domain.Base;
namespace Extrudex.Domain.Entities;
/// <summary>
/// Represents a single slot within an AMS unit. Each slot can hold one spool
/// and tracks the tray index, remaining weight, and which spool is loaded.
/// </summary>
public class AmsSlot : AuditableEntity
{
/// <summary>
/// The 1-based tray/slot index within the AMS unit (1-4 per unit).
/// </summary>
public int TrayIndex { get; set; }
/// <summary>
/// Foreign key to the AMS unit this slot belongs to.
/// </summary>
public Guid AmsUnitId { get; set; }
/// <summary>
/// Navigation to the parent AMS unit.
/// </summary>
public AmsUnit AmsUnit { get; set; } = null!;
/// <summary>
/// Foreign key to the spool currently loaded in this slot. Null if empty.
/// </summary>
public Guid? SpoolId { get; set; }
/// <summary>
/// Navigation to the spool currently loaded in this slot. Null if no spool is loaded.
/// </summary>
public Spool? Spool { get; set; }
/// <summary>
/// Remaining filament weight in grams as reported by the AMS.
/// Bambu Lab AMS reports remaining weight per tray.
/// </summary>
public decimal? RemainingWeightG { get; set; }
}