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();
}