using App.Core.Entities.Inventory;
using App.Core.Entities.Maintenance;
namespace App.Core.Entities.Machines;
///
/// Équipement industriel soumis à maintenance préventive et/ou curative.
///
public class Machine
{
public int Id { get; set; }
public required string Reference { get; set; }
public required string Designation { get; set; }
public string? Location { get; set; }
public MachineCriticality Criticality { get; set; }
public DateOnly? CommissioningDate { get; set; }
public int? PhotoAttachmentId { get; set; }
/// Désactivation logique (soft delete) : une machine liée à un historique n'est jamais supprimée physiquement.
public bool IsActive { get; set; } = true;
public DateTime CreatedAtUtc { get; set; }
public DateTime UpdatedAtUtc { get; set; }
public List MaintenancePlans { get; set; } = [];
public List WorkOrders { get; set; } = [];
public List MachineParts { get; set; } = [];
public List CounterReadings { get; set; } = [];
}