using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace DiunaBI.Core.Models; public enum LayerType { Import, Processed, Administration, Dictionary, } 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; } = false; [Required] public bool IsCancelled { get; init; } = false; #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; } #endregion }