using System.ComponentModel.DataAnnotations; namespace Lagerbestand.Models; /// /// Represents a column in the Kanban board (e.g., Backlog, ToDo, In Progress) /// public class KanbanColumn { public Guid Id { get; set; } = Guid.NewGuid(); [Required] [MaxLength(100)] public string Name { get; set; } = string.Empty; /// /// Display order of the column (0-based) /// public int SortOrder { get; set; } /// /// Optional color for the column header /// [MaxLength(7)] public string? Color { get; set; } /// /// Optional icon/emoji for the column /// [MaxLength(10)] public string? Icon { get; set; } /// /// Whether this is the default column for new tasks /// public bool IsDefault { get; set; } /// /// Whether this column represents completed tasks (for archiving logic) /// public bool IsCompletedColumn { get; set; } /// /// Whether this column is active /// public bool IsActive { get; set; } = true; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; // Navigation properties public virtual ICollection Tasks { get; set; } = new List(); }