using System.ComponentModel.DataAnnotations; namespace WebAPI.Models; public enum LayerType { Import, Processed, Administration } public class Layer { #region Properties [Key] public Guid Id { get; init; } [Required] public int Number { get; init; } [Required] [MaxLength(50)] public string? Name { get; set; } [Required] public LayerType Type { get; init; } [Required] public DateTime CreatedAt { get; set; } [Required] public DateTime ModifiedAt { get; set; } [Required] public bool IsDeleted { get; init; } #endregion #region Relations public ICollection? Records { get; init; } [Required] public Guid CreatedById { get; set; } public User? CreatedBy { get; init; } [Required] public Guid ModifiedById { get; set; } public User? ModifiedBy { get; init; } public Guid? ParentId { get; init; } public Layer? Parent { get; init; } #endregion }