using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; using eprintServer.Enums; namespace eprintServer.Entities; [Table("steps")] public class Step { [Column("id")] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long Id { get; set; } [Column("product_id")] public long ProductId { get; set; } [JsonIgnore] public CustomizableProduct Product { get; set; } [Column("step_order")] public int StepOrder { get; set; } [Column("step_type")] public StepTypeEnum StepType { get; set; } [Column("is_template")] public bool IsTemplate { get; set; } public List StepName { get; set; } = new List(); [Column("next_step_id")] public long? NextStepId { get; set; } [Column("archive")] public bool Archive { get; set; } [Column("timestmp")] public DateTime Timestamp { get; set; } [JsonIgnore] public ICollection FormElements { get; set; } = new List(); public Step() { Timestamp = DateTime.UtcNow; Archive = false; IsTemplate = false; } }