// Naprogramujte knihovnu, která umožní implementaci Kanban Boardu. // Knihovna by měla obsahovat třídy, které umožní vytvořit Kanban Board, // přidat úkoly, přesunout úkoly mezi jednotlivými sloupci. static void Main(string[] args) { // Ukázka vytvoření testovacího nastavení. var test = new KanbanBoardSettings() { DefaultDueToDays = 14, DefaultTaskDescription = "Empty description", DefaultColumnSetup = new List <TaskStatus>() { new TaskStatus() { Value = "Má se udělat" }, new TaskStatus() { Value = "Hotovo" } } }; var testKanbaBoard = new KanbanBoard(test); // Vytvoření kanban boardu jako takového. var kanbanBoard = new KanbanBoard(new KanbanBoardSettings() { DefaultDueToDays = 14 }); // Vytvoření úkolů kanbanBoard.CreateTask(); kanbanBoard.CreateTask("Improve kanban", "Cleanup code", "Doing"); kanbanBoard.CreateTask("Improve due date", "Cleanup code", "Doing"); // Úprava nastavení úkolů kanbanBoard.TaskList[2].DueTo = DateTime.UtcNow.AddDays(30); // Přidání nastavení úkolů kanbanBoard.CreateTask(); // Posunutí do jiného sloupce. kanbanBoard.TaskList[3].TaskStatus.Value = "Completed"; // Výpis všech úkolů Console.WriteLine(string.Join("\n", kanbanBoard.TaskList)); // Výpis úkolů ve stavu To-Do kanbanBoard.PrintTask("To-Do"); // Výpis úkolů ve stavu Doing kanbanBoard.PrintTask("Doing"); // Výpis úkolů ve stavu Completed kanbanBoard.PrintTask("Completed"); // Přidání nového sloupce kanbanBoard.CreateTask("Prodloužit občanku", "V roce 2025 si nechat prodloužit občanku", "2025"); kanbanBoard.PrintTask("2025"); // Zjištění všech unikátních sloupců Console.WriteLine(string.Join("\n", kanbanBoard.TaskList.Select(tl => tl.TaskStatus.Value).Distinct())); }
public KanbanBoard(KanbanBoardSettings kanbanSetting) { KanbanSetting = kanbanSetting; }