public ToDo(string td, string prior) { toDo = td; priority = prior; next = null; prev = null; }
public void Enqueue(ToDo newToDo) { if (newToDo != null) { if (queue.Count() == 0) { //this.queue.Add(newToDo); } else { var priorityLvl = queue.Where(q => q.Priority == newToDo.Priority); if (priorityLvl.Any()) { foreach (var td in priorityLvl) { var lastInPrior = priorityLvl.Where(t => t == td.Previous); if (!lastInPrior.Any()) { if (td.Previous != null) { var newPrev = td.Previous; newToDo.Previous = newPrev; newToDo.Next = td; td.Previous = newToDo; newPrev.Next = newToDo; //queue.Add(newToDo); } else { td.Previous = newToDo; newToDo.Next = td; //queue.Add(newToDo); } } } } } this.queue.Add(newToDo); } }
private void btnAddToDo_Click(object sender, EventArgs e) { var nToDo = new ToDo(txtAddToDo.Text, ddlPriority.Text); nQue.Enqueue(nToDo); lblNextOutput.Text = nQue.First.ThingToDo; }