private int CreateShortId(KanbanState state, int cardIndex) { string stateString = (((int)state) + 1).ToString(); string cardIndexString = (cardIndex + 1).ToString(); return(int.Parse(stateString + cardIndexString)); }
private void MoveTask(CardViewModel task) { if (task == null) { return; } board.MoveTask(task.Id); LoadTasks(task.State); KanbanState nextState = task.State.GetNextState(); LoadTasks(nextState); SaveBoard(); }
private void LoadTasks(KanbanState state) { IList <Task> tasks = board.GetTasks(state).ToList(); var cards = new ObservableCollection <CardViewModel>(); for (int index = 0; index < tasks.Count; index++) { cards.Add(new CardViewModel(tasks[index], CreateShortId(state, index))); } if ((int)state < Lanes.Count) { Lanes[(int)state].Cards = cards; } }
public IEnumerable <Task> GetTasks(KanbanState state) { switch (state) { case KanbanState.Backlog: return(GetBacklogTasks()); case KanbanState.Done: return(GetClosedTasks()); case KanbanState.Sheduled: return(GetSheduledTasks()); case KanbanState.Waiting: return(GetWaitingTasks()); case KanbanState.WorkInProgress: return(GetTasksInProgress()); default: return(new List <Task>()); } }
public LaneViewModel(KanbanState state) { State = state; Cards = new ObservableCollection <CardViewModel>(); }
public static KanbanState GetNextState(this KanbanState currentState) { return((KanbanState)((int)currentState + 1)); }
public IEnumerable<Task> GetTasks(KanbanState state) { switch (state) { case KanbanState.Backlog: return GetBacklogTasks(); case KanbanState.Done: return GetClosedTasks(); case KanbanState.Sheduled: return GetSheduledTasks(); case KanbanState.Waiting: return GetWaitingTasks(); case KanbanState.WorkInProgress: return GetTasksInProgress(); default: return new List<Task>(); } }
public LaneViewModel(KanbanState state) { State = state; Cards = new ObservableCollection<CardViewModel>(); }
private void InitLane(KanbanState state) { Lanes.Add(new LaneViewModel(state)); LoadTasks(state); }