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();
}