using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using DigitalData.EmailProfiler.Domain.Common; namespace DigitalData.EmailProfiler.Domain.Entities; [Table("TBEMLP_POLL_INDEXING_STEPS")] public class IndexingStep : BaseEntity { [Key] [Column("GUID", Order = 0)] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Column("STEP_ID")] [Required] public int StepId { get; set; } [Column("INDEXNAME", TypeName = "varchar(100)")] [Required] [MaxLength(100)] public string IndexName { get; set; } = string.Empty; [Column("INDEXVALUE", TypeName = "varchar(100)")] [Required] [MaxLength(100)] public string IndexValue { get; set; } = string.Empty; [Column("ACTIVE")] public bool IsActive { get; set; } = true; [Column("USE_FOR_DIRECT_ANSWER")] public bool UseForDirectAnswer { get; set; } [Column("SEQUENCE")] public int? Sequence { get; set; } // Audit fields [Column("ADDED_WHO", TypeName = "varchar(50)")] [MaxLength(50)] public string? AddedWho { get; set; } [Column("ADDED_WHEN")] public DateTime? AddedWhen { get; set; } [Column("CHANGED_WHO", TypeName = "varchar(50)")] [MaxLength(50)] public string? ChangedWho { get; set; } [Column("CHANGED_WHEN")] public DateTime? ChangedWhen { get; set; } // Navigation properties [ForeignKey("StepId")] public virtual ProcessStep? ProcessStep { get; set; } }