Пример #1
0
 public ToDo(string td, string prior)
 {
     toDo = td;
     priority = prior;
     next = null;
     prev = null;
 }
Пример #2
0
        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);
            }
        }
Пример #3
0
 private void btnAddToDo_Click(object sender, EventArgs e)
 {
     var nToDo = new ToDo(txtAddToDo.Text, ddlPriority.Text);
     nQue.Enqueue(nToDo);
     lblNextOutput.Text = nQue.First.ThingToDo;
 }