using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using DigitalData.EmailProfiler.Domain.Common; namespace DigitalData.EmailProfiler.Domain.Entities; [Table("TBEMLP_POLL_STEPS")] public class ProcessStep : BaseEntity { [Key] [Column("GUID", Order = 0)] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Column("PROCESS_ID")] [Required] public int ProcessId { get; set; } [Column("STEP_NAME", TypeName = "varchar(50)")] [Required] [MaxLength(50)] public string StepName { get; set; } = string.Empty; [Column("KEYWORDS_BODY", TypeName = "varchar(1000)")] [MaxLength(1000)] public string? KeywordsBody { get; set; } [Column("ACTIVE")] public bool IsActive { get; set; } = true; [Column("SEQUENCE")] public int? Sequence { get; set; } [Column("COMMENT", TypeName = "varchar(500)")] [MaxLength(500)] public string? Comment { 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("ProcessId")] public virtual EmailProcess? EmailProcess { get; set; } public virtual ICollection IndexingSteps { get; set; } = new List(); }