using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace RobotNet10.MapManager.Data; /// /// Layout entity - Root level representing a Building/Facility /// Maps to VDMA LIF: layouts[].layoutId /// [Table("Layouts")] public class Layout { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } /// /// Unique layout identifier (VDMA LIF: layoutId) /// [Required] [StringLength(128)] public string LayoutId { get; set; } = string.Empty; /// /// Layout name (VDMA LIF: layoutName) /// [Required] [StringLength(256)] public string LayoutName { get; set; } = string.Empty; /// /// Description /// public string? Description { get; set; } /// /// Is layout currently active/operational /// [Required] public bool IsActive { get; set; } = true; /// /// Created date /// [Required] public DateTime CreatedDate { get; set; } = DateTime.UtcNow; /// /// Last modified date /// [Required] public DateTime ModifiedDate { get; set; } = DateTime.UtcNow; /// /// Creator /// [StringLength(256)] public string? CreatedBy { get; set; } /// /// Last modifier /// [StringLength(256)] public string? ModifiedBy { get; set; } // Navigation properties public virtual ICollection Versions { get; set; } = new List(); }